如何循环此道具?
尝试循环这样的事情:
for (var key in this.props.data.data) {
this.state.newData.push(
<NewData key={key} />
);
}
不起作用。
答案 0 :(得分:1)
这样的事情应该有效:
const newData = this.props.data.data.map(key => (<NewData key={key} />));
this.setState({ newData });
两个值得注意的变化:
Array.prototype.map
迭代数组而不是for
- in
循环。setState
设置状态而不是直接设置状态。在构造函数之外,您应该始终使用setState
。有关详细信息,请参阅https://facebook.github.io/react/docs/state-and-lifecycle.html。答案 1 :(得分:1)
你必须使用setState来改变状态:
var newArr = [];
for (var key in this.props.data.data) {
newArr.push(<NewData key={key} />);
}
this.setState( {newData: newArr });