ReactJS:父组件的获取数据是否应该存储在状态中以传递给子级?

时间:2017-11-08 17:19:52

标签: javascript reactjs view parent-child state

当我处于需要将大量数据传递给子组件的情况时,似乎最简单的方法是将其存储在状态中,然后将其作为渲染函数内的道具传递给子项。我想知道是否有一种不那么密集的方法来做到这一点。

例如,如果我有这样的关系:

<PhotosPage>
 <PhotoFeed/>
</PhotosPage>

我知道我想在PhotosPage安装时获取“照片Feed”数据。假设我在PhotoPage的{​​{1}}函数中获取此数据。对我来说似乎很明显,在获取请求完成后只需设置状态,例如:

componentDidMount()

然后我可以简单地将this.setState({feedData: response.data}) 作为this.state.feedData传递给PhotoFeed组件:

prop

这是一个非常基本的示例,不包括组件的其余复杂性。是否有较少的国家密集型方法来做到这一点?我确信这是一个非常常见的容器来查看关系,我想知道是否有任何'更好'的方法来做到这一点没有redux等。我只是担心,当我不需要时,我可能正在使用状态。

1 个答案:

答案 0 :(得分:3)

这通常是一种可接受的方法,该技术称为容器组件。 Here是关于这些的好文章。

Here是另一个讨论一些不同的选择。