我可以通过history.push("/path")
调用链接。要访问history
,我必须使用withRouter
,它将多个 Prop 传递给组件。即使路径不变,由match
传递的withRouter
也有所不同。这将导致PureComponent
重新呈现。有办法解决这个问题吗?
例子:
class HomeButton extends PureComponent {
onClick = () => {
const { history } = this.props;
history.push("/");
}
render() {
return <Button onClick={this.onClick}/>
}
}
export default withRouter(HomeButton);
我使用shallowEqualExplain来检查导致更新的 Prop 。
最佳答案
如果您不想更新Component
,我建议使用PureComponent
而不是Button
。
引用:https://reactjs.org/docs/react-api.html#reactpurecomponent
关于javascript - 如何防止withRouter导致重新渲染PureComponent?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51649171/