mar*_*aos 5 reactjs react-router
我在顶层有许多导航链接,当您在链接之间切换时,它们可以切换页面级组件。某些页面具有创建成本高昂的复杂网格组件。我注意到每次切换页面时 react-router 都会构造组件。有没有办法缓存传递到路由中的组件?,即 PositionsPage
<Route path="/positions" component={PositionsPage} />
这是 React 整体(而不仅仅是react-router)中非常重要的性能考虑因素。
props默认设计下,React 会针对或中的任何更改重新渲染完整的 DOM 树state。
以下是React 高级性能文档建议的技术摘要。
注意:组件的正确性会自动得到处理。没什么好担心的。
这应该是相当简单的。以下webpack.config.js插件部分片段应确保变量NODE_ENV到达 React 源代码。
...
plugins: [
new CommonsChunkPlugin('bundle.js'),
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
}
})
]
...
Run Code Online (Sandbox Code Playgroud)
现在只需确保NODE_ENV=production webpack -p.
propTypes这可确保跳过所有这些警告/错误和检查。
警告:您必须处理 和 的所有可能的条件矩阵(如果需要)props,state以确保不会破坏渲染的正确性。
这是必须实现的回调签名。state每当任何或值发生变化时都会调用此函数prop。
shouldComponentUpdate: function(nextProps, nextState) {
// @TODO your logic here
// return true to update, false otherwise
return true;
}
Run Code Online (Sandbox Code Playgroud)
请记住,React 会经常调用此函数,因此实现必须很快。
| 归档时间: |
|
| 查看次数: |
3945 次 |
| 最近记录: |