子组件中的数据模型

时间:2016-04-17 10:52:16

标签: meteor reactjs components communication meteor-react

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

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

所以我的问题是:

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

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

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

    My Task子组件如下所示:

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

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

2 个答案:

答案 0 :(得分:1)

基本上,当您想要将信息从父级传递给子级时使用props时,如果要将信息从子级传递给父级,则将函数作为prop传递给子级,然后调用它当你需要更新父母时。

您可以在official docs

中阅读更多内容

你也可以看看Reflux。 一个简单的单向数据流架构库,灵感来自ReactJS Flux

答案 1 :(得分:1)

  

在React中,数据以单向流动

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

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