【发布时间】:2018-02-20 02:33:18
【问题描述】:
我根据需要创建了一个函数,仅当它与以前的值不同时才更改状态(即,如果不相同则切换)。但是,它不会重新渲染组件。有人可以让我知道我做错了什么吗?但它确实改变了状态。
export function toggleState(thi_s, k, new_v)
{
if(thi_s.state[k]!=new_v)
{
thi_s.state[k] = new_v;
return true;
}
return false;
}
。 .
[用法]
if(this.state.xyz!=true) this.setState({xyz:true}); //does rerender as expected
.
toggleState(this, 'xyz', true); //doesn't rerenders
状态更改无需重新渲染,我可以在调用后立即使用console.log 进行检查
【问题讨论】:
标签: javascript reactjs react-native