【发布时间】:2017-02-06 08:58:18
【问题描述】:
主要思想是,如果有动态生成的组件,如何从父组件更改它们的道具/或状态。父组件如何知道要更新哪个子组件。
我能不能告诉父组件设置状态并将值传递给正确的子组件,而不是更改所有子组件,子组件都将是相似的(克隆但每个可以有不同的道具,状态)
这是我的基本代码,我只想更改 1 个跨度的状态,而不是两者,我想将这个想法应用于组件。
class MainApp extends React.Component {
constructor(props){
super(props)
this.ChangeText= this.ChangeText.bind(this)
this.state={
text: "hi"
}
}
ChangeText(e){
this.setState ({
text: "hellow"
})
}
render() {
return (
<div>
<button onClick={this.ChangeText}>Click </button>
<span>{this.state.text}</span>
<span>{this.state.text}</span>
</div>
);
}
}
【问题讨论】:
-
如果您只想影响单个跨度,则需要为跨度提供不同的状态。
-
如果我不知道会有多少跨度?那我怎样才能给他们不同的状态呢?
-
使用索引。循环遍历父级的动态数据并使用数组索引将其分配给状态。
标签: reactjs