1

我想知道父/子组件之间通信的最佳实践是什么。我已经阅读了这篇关于通信和组件状态的文,但没有找到解决我的问题的正确答案。

考虑以下组件。我的父组件是一个List,它从父组件中的对象呈现几个Tasks(子组件)。

所以我的问题是:

  1. 将对象传递给每个任务组件是最佳实践吗?
  2. 当 Task 组件中的值发生更改时,父组件如何知道这一点?因为父母应该知道所有孩子的信息。

那么这是一个正确的使用模式吗?

在我的父组件中,我在渲染函数中有这个:

<Task key={index} taskdata={taskobj} />

我的任务子组件如下所示:

render() {
    return (
         <input type="text" name="wunsch" defaultValue={this.props.task.title}/>
);
}

那么如果输入字段的值会发生变化,那么父组件中的taskobj是否也会发生变化呢?在这个例子中没有。但是这里的正确模式是什么?

4

2 回答 2

1

在 React 中,数据以一种方式流动

我并没有真正意识到这个 React 概念。因此,在阅读 ReactJS Doc 中的此链接后,我决定使用 onChange/setState() 方式,因为 ReactLink 已被弃用。

因此,当子组件中发生模型更改时,我会调用父组件中的方法来更新(setState)我的数据。

于 2016-04-18T14:38:46.787 回答
1

基本上,当您想将信息从父母传递给您使用的孩子props时,当您想将信息从孩子传递给父母时,您将一个函数作为 a 传递给孩子prop,然后在需要更新父母时调用它。

您可以在官方文档中阅读更多内容

你也可以看看Reflux。受 ReactJS Flux 启发的用于单向数据流架构的简单库

于 2016-04-17T11:06:51.357 回答