我想知道是否有任何方法可以将参数(或变量)传递给不同的组件(例如,如果我单击一个按钮,那个按钮的onClick功能可以将我重定向到另一个组件,并且该变量应立即加载,并应显示不同的屏幕)我使用react-router 3.0.0,我希望有类似的功能,如react-native
Actions.somepage({ls: variablename});
当加载该页面时,应该有一个像this.props.ls
这样的函数
获得这个价值。
有人可以告诉我该怎么做吗?(我使用this.context.router.push('/');
进行路由)
答案 0 :(得分:0)
如果你在没有状态管理器的情况下使用react-router(并对路由器v4做出反应),则很难共享状态,因为没有更高级别的组件可以呈现所有路由。您可以通过使用this.context.router.push({ pathname: '/', params: yourObject})
答案 1 :(得分:-1)
如果有问题的组件是可以访问变量/属性的组件的子组件,它可以将其传递给子组件,如此
class myParentComponent extends React.Component {
render() {
const foo = 'bar';
<ChildComponent foo={foo} />
}
}
ChildComponent现在可以访问this.props.foo
class ChildComponent extends React.Component {
// renders 'bar' in the div
render() {
<div>{this.props.foo}</div>
}
}
如果不是这种情况,您需要一些东西来管理您的应用程序的状态。有多种实现,包括flux,以及我个人最喜欢的redux。或者你可以实现更传统的MVC架构,无论你习惯了什么。需要记住的重要一点是React
本身只是一个视图层,而不是管理应用程序的方法。