Reactjs 当父路由中的状态发生变化时,如何重新呈现子路由中的组件?

Reactjs 当父路由中的状态发生变化时,如何重新呈现子路由中的组件?,reactjs,Reactjs,我有这个页面,在其中您点击交易按钮,下面的部分来自子路由。其中数据应根据父路由中的下拉值进行更改。下表中的事务未更改。 这是一张快照 这里的代码有点像 portfolioid来自父项中的dropdown.in <div style = {{ 'padding':'10px'}} portfolioId={this.state.portfolioId}> // display transaction here based on state portfolioid

我有这个页面,在其中您点击交易按钮,下面的部分来自子路由。其中数据应根据父路由中的下拉值进行更改。下表中的事务未更改。 这是一张快照

这里的代码有点像

portfolioid来自父项中的dropdown.in

 <div style = {{ 'padding':'10px'}} portfolioId={this.state.portfolioId}>
     // display transaction here based on state portfolioid
      {this.props.children}
    </div>

//根据状态portfolioid在此处显示事务
{this.props.children}

在child中,我尝试了许多方法,但都不起作用。

您实际上没有将
portfolioId
道具传递给任何子组件
this.props.children
指的是封装在组件标记中的组件,因此
portfolioId
对该
this.props.children
没有任何说明

您可以创建一个子组件并将其作为道具传递,就像您尝试过的那样,然后在子组件内部访问它

父组件

。。。
render:function(){
返回(
//任何其他内容。。。
);
}
...
然后,您可以使用
this.props.portfolioId
访问prop-inside-portfolioId组件,并根据该组件更改视图

或者如果您需要使用
this.props.children
,您可以使用将道具映射到它们中

...

render: function() {
    return (
        <div>
            <Portfolios portfolioId={this.state.portfolioId} />
            // Whatever else content...
        </div>
    );
}

...