【发布时间】:2015-05-03 04:12:30
【问题描述】:
我刚开始,所以我不知道这是否是期望的行为,或者我是否错过了一些东西。我正在使用 Flux 架构(特别是 Reflux,但这不应该是相关的)。在我的超简单测试应用中:
var App = React.createClass({
render: function () {
return (
<div className="container">
<Header />
<RouteHandler />
<div>
);
}
});
var routes = (
<Route name="app" path="/" handler={App}>
<Route name="employees" handler={Employees}/>
<Route name="company" handler={Company}/>
<Route name="timesheets" handler={Timesheets}/>
<DefaultRoute handler={Company} />
</Route>
);
Router.run(routes, function (Handler) {
React.render(<Handler/>, document.getElementById('main'));
});
处理程序是 React 组件,是最简单的设置。当应用程序启动时,我按预期登陆“公司”页面。然后,当我过渡到“员工”时,一切都很好,但是当我过渡回“公司”时,我观察到创建了一个全新的 {Company} 组件,从而使我的状态消失了。这将导致许多不必要的 API 调用,除非我做错了什么或不理解。
有没有办法告诉 Route 使用现有的处理程序(如果存在)并重新渲染它?而不是创建一个新类?
【问题讨论】:
标签: reactjs-flux react-router refluxjs