我想知道父/子组件之间通信的最佳实践。我已经阅读了关于通信和组件状态的blogpost,但没有找到解决我问题的正确答案。
考虑以下组件。 我的父组件是一个List,它从父组件中的对象呈现几个Tasks(子组件)。
所以我的问题是:
这是一个正确的模式吗?
在我的父组件中,我在渲染函数中有这个:
<Task key={index} taskdata={taskobj} />
My Task子组件如下所示:
render() {
return (
<input type="text" name="wunsch" defaultValue={this.props.task.title}/>
);
}
因此,如果输入字段的值会改变,那么父组件中的taskobj也会改变吗?在这个例子中没有。但这里的正确模式是什么?
答案 0 :(得分:1)
基本上,当您想要将信息从父级传递给子级时使用props
时,如果要将信息从子级传递给父级,则将函数作为prop
传递给子级,然后调用它当你需要更新父母时。
您可以在official docs
中阅读更多内容你也可以看看Reflux。 一个简单的单向数据流架构库,灵感来自ReactJS Flux
答案 1 :(得分:1)
在React中,数据以单向流动
我并没有真正意识到这个React的概念。 因此,在ReactJS Doc中阅读此link之后,我决定采用onChange / setState()方式,因为已经弃用了ReactLink。
因此,当子组件中发生模型更改时,我调用parent组件中的方法来更新(setState)我的数据。