如果有人修改了交换机组件,我会尝试设置更改事件.方法是设计一个包含多个开关的视图,并允许用户设置每个通知的状态,这些状态最终将在POST api-call中结束.此外,我想从api-call加载初始值.
如何在我的onChangeFunction中访问状态(天气检查/取消选中)?如何使用他们的ID或名称获取元素?(与#mySwitch.setValue(true)中的HTML/CSS相同?
给定代码:
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>
);
}
}
Run Code Online (Sandbox Code Playgroud)
你props和这个state概念之间有一团糟.你可以做:
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>
);
}
}
Run Code Online (Sandbox Code Playgroud)
请注意,它this.setState是异步的,因此您可以使用该方法提供的回调安全地读取其值.
| 归档时间: |
|
| 查看次数: |
7222 次 |
| 最近记录: |