constructor(props, context) {super(props);this.state = {ShowVoucher: false }我想更改showVoucher的状态。无需重新渲染组件。我已经尝试过这样componentDidUpdate(prevState) {if(prevState.showVoucher!= this.state.showVoucher){ this.setState({ ShowVoucher: false})} }但是我的代码陷入了无限循环。我该如何解决?任何其他解决方案都欢迎。
2 回答
Cats萌萌
TA贡献1805条经验 获得超9个赞
如果您要存储一个值,但不希望在该值更改时重新渲染组件,则该状态不应该处于此状态。它应该只是一个实例变量,例如
constructor(props, context) {
this.ShowVoucher = false;
}
然后
this.ShowVoucher = true;
不要将事物置于状态,然后尝试阻止其更改导致重新渲染。那是一种反模式。
添加回答
举报
0/150
提交
取消