gpt4 book ai didi

react-native - ReactNative/开关组件 : onValueChange

转载 作者:行者123 更新时间:2023-12-03 11:11:33 26 4
gpt4 key购买 nike

如果有人修改开关组件,我会尝试设置一个更改事件。该方法是设计一个包含多个开关的 View ,并允许用户为每个将在 POST api 调用中结束的通知设置状态。此外,我想从 api 调用中加载初始值。

如何在我的 onChangeFunction 中访问状态(无论是否选中/未选中)?我如何使用他们的 ID 或名称获取元素? (与在 HTML/CSS 中使用 #mySwitch.setValue(true) 一样吗?

给定代码:

class Settings extends Component {    
onChangeFunction(type, props) {
Alert.alert("changed", "==> " + props.state)
}

render() {
return (
<View style={styles.container}>
<Switch onValueChange={this.onChangeFunction.bind(this, "TASK_CREATED", this.props)} value={this.state} />
</View>
);
}
}

最佳答案

你在 propsstate 概念之间搞得一团糟。你可以这样做:

class Settings extends Component {

state = {
taskCreated: false,
};

onChangeFunction(newState) {
this.setState(newState, () => Alert.alert("Changed", "==> " + this.state));
}

render() {
return (
<View style={styles.container}>
<Switch onValueChange={(value) => this.onChangeFunction({taskCreated: value})}
value={this.state.taskCreated}
/>
</View>
);
}
}

请注意 this.setState 是异步的,因此您可以使用该方法提供的回调安全地读取它的值。

关于react-native - ReactNative/开关组件 : onValueChange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39105499/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com