withRouter 摘

时间:2019-11-25 15:26:31   收藏:0   阅读:111

1.目的就是让被修饰的组件可以从属性中获取history,location,match

路由组件可以直接获取这些属性,而非路由组件就必须通过withRouter修饰后才能获取这些属性了

 

2.withRouter是专门用来处理数据更新问题的

在使用一些redux的的connect()或者mobx的inject()的组件中,如果依赖于路由的更新要重新渲染,会出现路由更新了但是组件没有重新渲染的情况。这是因为redux和mobx的这些连接方法会修改组件的shouldComponentUpdate

在使用withRouter解决更新问题的时候,一定要保证withRouter在最外层,比如withRouter(connect(Component))

原文:https://www.cnblogs.com/avidya/p/11927944.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!