我正在努力与react / redux做任何事情。
我最后的挑战之一是将一些数据从子组件传递到父组件。我无法通过调用parentComponent.props.children.props来获取子props
(我也尝试使用React.Children.toArray将子节点转换为Array)然后我找到了解决某些特定问题的解决方案React Router附带的数据。
我设法通过调用Parent Component中的this.props.location.pathname
来找出子组件。
我有一个路由结构如下
<Router history={history}>
<Route path="/main" component={Main}>
<Route path="something" component={Something} />
</Route>
</Router>
我想知道是否可以在此声明中将一些数据传递给Main。类似的东西:
<Route path="something" component={Something} data={foo: 'myData'} />
在foo
Main.render
有什么东西接近这个吗?
答案 0 :(得分:2)
您可以将'myData'作为查询参数传递。这是我个人喜欢使用React Router将道具传递给组件。然后,当您浏览到/main/something?foo=myData
时,您可以从foo
访问this.props.location.query.foo
。
答案 1 :(得分:1)
您传递给路径定义的任何道具都可以在道具中的路径节点下访问。在您的Something组件中,应该能够使用_rectangleList