我已经设置了相当典型的 react-router 应用程序:
var App = React.createClass({
render: function() {
return ( < RouteHandler /> );
}
});
var routes = (
<Route handler = { App }>
< Route name = "Todo" path = "todo/:id" handler = {Todo}/>
< DefaultRoute name = "Todos" handler = {Todos}/>
</Route>
);
Router.run(routes, function(Handler) {
React.render( < Handler /> , document.getElementById('content'));
});
我的问题是我的Todos
组件上有一些搜索过滤器,当我转换到特定的Todo
并返回时,我想保留这些过滤器。显而易见的解决方案是将这些过滤器值保存在App
的状态上,但我想不出一种优雅的方式来允许Todos
访问App
的状态。
任何提示?
附录:此应用程序使用 Reflux 以及 react-router。