【发布时间】:2017-05-18 20:04:42
【问题描述】:
可以通过将 props 传递给子组件的 Route 组件并通过 this.props.route.propName 在此路由的子组件中访问它来将 props 传递给子路由的组件(在使用 React Router 时)。
子组件所需的道具是其父组件状态的一部分,而不仅仅是与组件无关的数据?
自从
在
<Router />中,父App的状态不在范围内,无法将其传递给子<Route />中的组件,或者父组件中对子组件的所有引用都是
{this.props.children},而不是<aComponent data={this.state.somePortion} />,同样,不能通过表达式{this.props.children}的语法传递它。
有什么收获?
【问题讨论】:
-
你看过 redux/flux 吗?可能会帮助您更轻松地解决此问题
-
是的,我看过它们。因为
redux store位于主组件的上部,而 提供 由绑定库<Provider/>组件react-redux中的react-redux组件提供,因此路由器层次结构中的所有组件都可以通过作为 props 传递并访问在带有this.props.route.propName的组件中。谢谢。但是在我的设置中应用 redux 对我来说似乎有点困难。没有它的任何解决方案。一定有办法,而且不要太麻烦。 -
利用一些利用者让生活更轻松有时会让你失去一些轻松,要重新获得丢失的部分,你需要另一个可能会限制你的结构。对我来说,在这种情况下,使用 React Router 使顶部组件中的状态 un-passable 到子组件。我将如何使数据沿着组件向下流动,最好是使用 React.js 中的 props。正确的?一定有一些简单明了的方法。
标签: reactjs react-router