Reactjs 对来自单独组件的React类使用方法
在我的网站主页上,您可以单击一个菜单按钮,该按钮触发一个切换菜单的方法。这会将状态从Reactjs 对来自单独组件的React类使用方法,reactjs,ecmascript-6,react-router,Reactjs,Ecmascript 6,React Router,在我的网站主页上,您可以单击一个菜单按钮,该按钮触发一个切换菜单的方法。这会将状态从menuOpen从false更改为true 在另一个页面上,我单击一个“后退”按钮,它应该转到主路线,但在页面加载后打开此菜单,而不是单击时打开。目前我所拥有的是: handleBack(){ App.navigate('/'); } 我可以导入组件并调用其方法吗?或者我可以设置一个新的React路由器路由,以某种方式执行状态更改吗?或者有其他解决方法吗?如果需要这种情况,请将状态值传递给父组件,该父组件
menuOpen
从false
更改为true
在另一个页面上,我单击一个“后退”按钮,它应该转到主路线,但在页面加载后打开此菜单,而不是单击时打开。目前我所拥有的是:
handleBack(){
App.navigate('/');
}
我可以导入组件并调用其方法吗?或者我可以设置一个新的React路由器路由,以某种方式执行状态更改吗?或者有其他解决方法吗?如果需要这种情况,请将状态值传递给父组件,该父组件是“智能组件”管理哑组件集。或者,您可以使用“flux”/“redux”。如果需要这种情况,请将状态值传递给父组件,该组件是一个“智能组件”管理哑组件集。或者您可以使用“flux”/“redux”。redux会有所帮助,但因为我猜您没有使用它,或者您不想重构整个应用程序来设置这个布尔值,所以我建议使用更高阶的组件 例如,您可以定义一个高阶组件(想想超类),如下所示:
export function menuToggler(ComposedComponent) {
return class extends React.Component {
toggleMenuBoolean() {
// code here
},
render() {
return <ComposedComponent toggleMenuBoolean={toggleMenuBoolean} {...this.props} />
}
};
}
export default MyComponent;
它将成为:
export default menuToggler(MyComponent);
从那里,您可以通过在道具上调用由高阶组件包装的任何组件来调用此toggleMenuBoolean
函数:
this.props.toggleMenuBoolean(false)
等
更多阅读:
Redux会有帮助,但我猜您没有使用它,或者您不想重构整个应用程序以设置这一布尔值,因此我建议使用更高阶的组件 例如,您可以定义一个高阶组件(想想超类),如下所示:
export function menuToggler(ComposedComponent) {
return class extends React.Component {
toggleMenuBoolean() {
// code here
},
render() {
return <ComposedComponent toggleMenuBoolean={toggleMenuBoolean} {...this.props} />
}
};
}
export default MyComponent;
它将成为:
export default menuToggler(MyComponent);
从那里,您可以通过在道具上调用由高阶组件包装的任何组件来调用此toggleMenuBoolean
函数:
this.props.toggleMenuBoolean(false)
等
更多阅读:
设置工作js小提琴。那么,我们可能会帮助你。设置工作js小提琴。那么,我们可能会帮助你。