欢迎光临
我们一直在努力

理解的英文,理解的意思

withRouter的适用场景

1.避免更新受阻

因为react-redux的connect高阶组件会为传入的参数组件实现shouldComponentUpdate 这个钩子函数,导致只有prop发生变化时才触发更新相关的生命周期函数(含render)而很显然,我们的location对象并没有作为prop传入该参数组件// beforeexport default connect(mapStateToProps)(Something)// afterimport { withRouter } from ‘react-router-dom’export default withRouter(connect(mapStateToProps)(Something))

2.在组件中意图使用history来控制路由跳转

import React from “react”;import {withRouter} from “react-router-dom”;class MyComponent extends React.Component { … myFunction() { this.props.history.push(“/some/Path”); } …}export default withRouter(MyComponent);

如果我们不使用withRouter来处理(MyComponent),那么我们这里的this.props就取不到history,会报hitstory is undefiend之类的错。

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。