React Native - 将函数的返回值设置为组件的属性不起作用



我正在使用React Native Switch组件,并希望在状态更改另一个开关时以编程方式更改开关(ON/OFF(的状态。以下是我拥有的代码:

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开关时,我希望某些开关可以打开或关闭,但它无法正常工作。任何指针?

您无法直接突变状态。您必须改用setState,只有这样对状态更新做出反应。

update = (key: string, val: boolean) => {
    if(key == 'togglekey') {
        this.setState({somekey: !val});
    }
};

相关内容

  • 没有找到相关文章

最新更新