如何将 this.state 转移到 react-routes?
Posted
技术标签:
【中文标题】如何将 this.state 转移到 react-routes?【英文标题】:How to transfer this.state to react-routes? 【发布时间】:2015-10-16 14:12:49 【问题描述】:我在新的 react-router 中使用 react-router 和 ES6 将值传递给组件?我使用<Handler name = this.state.name />
现在使用this.props.children
。如何从组件中的 App 向其传输数据?
如何将 this.state 转移到 react-routes 中:
export default class App extends React.Component
constructor ()
this.state = name: 'Username' ;
render ()
return (
<div>
this.props.children // <-- this.state ???
</div>
);
;
React.render((
<Router history=HashHistory>
<Route path="" component=App>
<Route path="about" component=About />
</Route>
</Router>
), document.getElementById('app'));
this.props.children //
【问题讨论】:
【参考方案1】:我建议从单独的 Flux 存储访问您存储在 App.state 中的信息,然后在您需要的每个组件中访问它们。 React 路由器不应该参与在路由之间传递数据。
【讨论】:
我完全同意你的观点,但是从主组件授权数据传输更方便。结果,我这样做了:this.props.children && React.cloneElement(this.props.children, username: this.state )
从 v1.0.0-beta3 的 API 文档中,我找不到您在以前版本中使用的方法,对我来说,这是 API 发展和正确选择的好兆头。以上是关于如何将 this.state 转移到 react-routes?的主要内容,如果未能解决你的问题,请参考以下文章
如何将处于新状态的json对象中的特定数据保存到react native中
React:将图像从父组件中的 this.state 传递给子组件
将 this.state 传递给 react-router 1.x / React, Flux 中的子级