2

我有一个组件,它以 2 条不同的路线(和)Edit呈现表单。CreateEdit

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:调用渲染方法。我正在使用反应路由器。

4

0 回答 0