我正在使用react native switch组件,并希望在另一台交换机的状态更改时以编程方式更改交换机的状态(开/关)。以下是我的代码:
update = (key: string, val: boolean) => {
if(key == 'togglekey') {
this.state.somekey = !val;
}
};
<Switch onValueChange={(v) => this.update('somekey', v)} value={this.state.somekey} />
<Switch onValueChange={(v) => this.update('togglekey', v)} value={this.state.togglekey} />
当我点击togglekey开关时,我希望somekey开关能够打开或关闭,但它无效。有什么指针吗?
答案 0 :(得分:1)
你不能直接改变状态。您必须使用setState
,只有这样,React才会确认状态更新。
update = (key: string, val: boolean) => {
if(key == 'togglekey') {
this.setState({somekey: !val});
}
};