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

标签 javascript android mobile react-native

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

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 开关可以打开或关闭,但它不起作用。有什么指点吗?

最佳答案

你不能直接改变状态。您必须改用 setState,只有这样 React 才会确认状态更新。

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

关于javascript - React Native - 将函数的返回值设置为组件的属性不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44392595/

相关文章:

Android Studio 注释格式

java - 每次点击后检查 EditText 值

javascript - 我将如何等待一系列异步任务在js中完成?

javascript - 内联表在 IE 上无法正常工作

javascript - 为什么 "undefined"== undefined 不是真的?

javascript - 使用 NodeJS 检测用户是否正在访问我的网络(WIFI)

android - Android 应用程序的内部存储空间中存储的最大数据量应该是多少?

iphone - 使用 Paypal 的移动 P2P 慈善应用程序 - 如何处理安全问题

jquery - iframe 不会以移动设备为中心?

JQuery Mobile ListView 在多行上显示文本