1

它似乎正在根据控制台日志更新状态数组。我可能错过了有关渲染如何与处理程序或生命周期本身一起工作的内容(抱歉仍在学习 React)。我是否应该将其发送到另一个组件,然后在我的页面上呈现该自定义组件?这是简化的代码。

  handleRowSelect = (row, isSelected, e) => {
console.log("MYROW::", row);
console.log("MYSTATEROW1::", this.state.selected)
this.setState({ selected: this.state.selected.concat([row]) }, () => {
  console.log("MYSTATEROW2::", this.state.selected[0].ridername);
});
}


 render() {
   return (
     <h4>{this.state.selected[0].ridername}></h4>
    )
  }

当我只是添加一个元素(不是数组)时,我在更新元素的状态时没有问题,基本上从无到有。现在我连接到我的数组中,我猜我的生命周期不会让我在页面第一次加载时解决数组中的 [0] 索引?我确定我在这个 DOM(虚拟 DOM)生命周期的东西中遗漏了一些订单操作。这一切对我来说都很新鲜。您如何处理添加状态数组对象时的渲染(显然从什么都没有开始)。

4

1 回答 1

2

所以看起来我需要对地图功能友好。我现在可以使用它返回东西。说得通。

 <div>{this.state.selected.map((selected, index) => (
            <p key={index}>{selected.ridername}</p>
          ))}</div>

归功于这个参考,它让我进入了我正在做的事情。

http://www.hackingwithreact.com/read/1/13/rendering-an-array-of-data-with-map-and-jsx

于 2017-01-21T18:07:06.067 回答