我有一个组件,它以 2 条不同的路线(和)Edit
呈现表单。Create
Edit
var App = require('./app.jsx')
Route = App.Router.Route,
DefaultRoute = App.Router.DefaultRoute,
Brands = require('./views/brands/index.jsx'),
BrandsEdit = require('./views/brands/edit.jsx'),
DefaultLayout = require('./views/layout/default.jsx');
<Route handler={DefaultLayout} name="dashboard" path="/">
<Route handler={Brands} name="products" path="/products" />
<Route handler={BrandsEdit} name="products-create" path="/products/create" />
<Route handler={BrandsEdit} name="products-edit" path="/products/:id/edit" />
</Route>
如果我在EditRoute
来自服务器的组件请求数据以填充输入,否则它只会显示表单......
这个请求是在componentDidMount
(正如 React 文档所说的那样)......</p>
这是我的问题:如果我在edit
( /brands/1/edit
) 并转到create
( /brands/create
),我的组件不会通过componentDidMount
. 为什么?就像我的组件保留在下一页一样。
Obs:调用渲染方法。我正在使用反应路由器。