我有一个带有以下构造函数的react组件:
constructor(props) {
super(props);
this.state = {
url: props.url,
status: props.status
}
...
}
以下范围标记:
render() {
return (
<div className="ConnectionPanel">
...
<span>{this.state.status}</span>
...
</div>
)
}
我的mapStateToProps
看起来像:
const mapStateToProps = (state) => ({
url: state.websocket.url,
status: state.websocket.status
})
state.websocket.status
的初始值会被呈现,但是当它从外部更新时,span
标记不会。
我无法弄清楚为什么我的绑定方式不正确,以及如何修复它。
答案 0 :(得分:4)
在state
更新时,您可能无法更新props
。您可以使用生命周期方法来处理此问题,但更好的方法是首先使用props
。
render() {
return (
<div className="ConnectionPanel">
...
<span>{this.props.status}</span>
...
</div>
)
}