【发布时间】:2018-10-08 07:48:22
【问题描述】:
这个问题快把我逼疯了,我有一个由create-react-app 创建的简单小应用程序,我正在使用React-Router。
JSX:
<Router>
<Route path="/pages/:pageId" component={Page} />
</Router>
在页面组件中,我对componentDidMount 进行了获取,它在第一次加载路由时按预期工作。
例如,我访问:/pages/13,然后它会获取该页面数据,但是当我打开时:/pages/13,然后单击链接组件(从 React-Router 导入)将我重定向到:/pages/15 - pageId 属性随后会更新,但不会重新渲染。
Page 组件永远不会在 componentWillUnmount 之前或之后运行 componentDidMount。
预期行为:
- 访问:
/pages/13→render()→componentDidMount()→render() - 点击链接组件
/pages/15→componentWillUnmount()→render()→componentDidMount()→render()
我正在使用以下版本:
- 反应:16.3.2
- 反应域:16.3.2
- react-router-dom: 4.2.2
我做错了什么?我对 React 还是很陌生,所以要友善 :)
【问题讨论】:
标签: javascript reactjs react-router