Reactjs 反应路由器将以前的路由道具传递给子路由

Reactjs 反应路由器将以前的路由道具传递给子路由,reactjs,react-router,Reactjs,React Router,有没有办法使用react路由器将道具从父组件传递到子组件 <Route path="/parent/" component={Parent} /> <Route path="/parent/child/" component={Child} /> 请注意,在父级的渲染函数中未渲染子级 谢谢我认为一个很好的解决方案是使用渲染道具的嵌套路由 // Parent.jsx render() { const { match: { url }, xyz } = this.

有没有办法使用react路由器将道具从父组件传递到子组件

<Route path="/parent/" component={Parent} />
<Route path="/parent/child/" component={Child} />

请注意,在父级的渲染函数中未渲染子级


谢谢

我认为一个很好的解决方案是使用渲染道具的嵌套路由

// Parent.jsx

render() {
  const { match: { url }, xyz } = this.props;
  return (
    <Route path={`${url}/child`} render={() => <Child xyz={xyz} />}
  );
}
//Parent.jsx
render(){
const{match:{url},xyz}=this.props;
返回(
}
);
}

为什么一开始就有这样的层次结构?也许这是一个愚蠢的想法,但我有在父级中呈现的所有子级路由(如页眉、页脚)上一致的组件。这样,它就不必在所有子路由更改上重新渲染。因此,您应该在父路由中使用路由。在您的示例中,我将如何将父状态传递到组件中,以便当父状态发生更改时,组件将被更新(即,它将作为props接收父状态的更改),因此,您也可以从state中提取任何值并将其传递给Ah,而不是从this.props中提取xyz,我实现了一个自定义组件willupdate(nextProps,nextState),问题是我的组件在某些情况下没有使用新状态进行更新。