ReactJS:将组件呈现的对象作为属性传递给另一个组件?

时间:2018-03-25 02:59:30

标签: reactjs

我正在使用React 16.2.0,无法做某些似乎应该可行的事情,但我是React的新手,所以需要在这里进行健全检查。

该应用程序是一个日志查看器,它从后端数据库中提取日志条目。我想要一个维护日志数据池的Paging组件,在池变低时获取更多日志,并在请求时获取要显示的下一个块(下面的dataChunk)。

我在Paging组件的render()方法中返回dataChunk。我还有一个简单的View组件,它只呈现dataChunk中包含的一大块日志条目。

如下所示,我希望将从Paging组件呈现/返回的dataChunk作为属性传递给View组件:

render() {
    return(
        <View dataChunk={<Paging chunkCb={this.chunkCb} state={pagingState}}/>
    );
 }

View中this.props.dataChunk中实际显示的是react.element对象(基本上是Paging对象)。永远不会实例化/挂载分页。

我想在React中做什么?我做错了吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

首先,您需要正确关闭Paging标记:

render() {
    return(
        <View dataChunk={<Paging chunkCb={this.chunkCb} state={pagingState} />}/>
    );
 }

但是,除了Paging组件作为道具之外,只需在render()组件定义的View函数内组合View,除非pip是第三方库使用Render Props模式。