Javascript react路由器:调用组件将跨不同的非嵌套路由卸载
我使用的react路由器的路由结构如下:Javascript react路由器:调用组件将跨不同的非嵌套路由卸载,javascript,reactjs,meteor,react-router,Javascript,Reactjs,Meteor,React Router,我使用的react路由器的路由结构如下: const routes = ( <Router history={browserHistory}> <Route path="/main" component={MainPage}></Route> <Route path="/charts/:chartID" component={App}></Route> </Router> ) Main.js(服务器
const routes = (
<Router history={browserHistory}>
<Route path="/main" component={MainPage}></Route>
<Route path="/charts/:chartID" component={App}></Route>
</Router>
)
Main.js(服务器):
我从中了解到,当url在我的情况下发生变化时,组件应该卸载,但似乎我遗漏了一些东西。我应该如何解决这个问题
非常感谢您的帮助 您可以通过使用react-redux、浏览器本地存储或其他方式,以不同的方式完成此任务。在这里,你可以改变你的商店 例如,您可以在商店中定义“firstTimeInCharts”,并在“APP”的componentWillMount上更新它,还可以设置“firstTimeInMain”,并在“MainPage”组件的componentWillMount上更新它。您可以通过检查这些状态来跟踪调用函数的方法。您可能还希望在应用商店中存储其他值,以便在整个应用程序中访问这些值 或者,您也可以使用浏览器的local strage执行相同的操作 我希望它能帮助你
componentDidUpdate(){
Meteor.call('test',"update");
} // prints "update"
componentWillUnmount(){
Meteor.call('test',"unmount");
} // nothing happens when url changes
Meteor.methods({
'test'(obj){
console.log(obj)
}
})