对不起,这可能是很基本的,但我这个sutuation ...得到渲染
class MyComponent extends React.Component {
constructor() {
super()
this.state = {
selected: -1
}
}
this.list = []
for (let i = 0; i < myArray.length; i++) {
let item = <div>selected on this list : {this.state.selected}</div>
this.list.push(item)
}
render() {
return (
<div>selected: {this.state.selected}</div>
<div onClick={() => this.state.selected++}>
{this.list}
</div>
}
}
这应该产生的外部更新组件的状态:
- 选择: - -1
- 此列表:1 此列表上
- -1此列表上
- :-1
- 在此列表中:-1 ...
基本上所有的东西都会返回所选的值。
但是,当我在DIV上单击以增加选择的,我收到类似...
- 选择:2
- 这个名单上:-1
- 此列表: -1
- 这个名单上:-1
- 这个名单上:-1 ...
个多头它的更新...
- 选择:3,4,5,6,7 ...
- 这个名单上:-1 这个名单上
- :-1
- -1
- 此列表:这个名单上-1 ...
换句话说:通过对/循环,而总是第一个div显示初始状态创建了列表的值在渲染器显示状态正确更新。
任何帮助?
当你希望你的for循环来运行'this.list = [] 为(令i = 0;我selected on this list : {this.state.selected}