我有一个组件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文档所说的那样)......
以下是我的问题:如果我在edit
(/brands/1/edit
)并转到create
(/brands/create
),我的组件不会通过componentDidMount
。为什么?这就像我的组件留在下一页。
Obs:调用render方法。我正在使用react-router。