【发布时间】:2017-01-04 00:25:06
【问题描述】:
在 Android 应用程序中运行时,我一直在努力解决 React Native 中的开关组件中的一个奇怪问题。
可以说,我有一个组件,其渲染方法如下所示:
render() {
return (
<View>
<View>
<Text>
Test Title
</Text>
<Switch
value={ this.state.value }
onValueChange={
this.test.bind( this )
}
/>
</View>
</View>
);
}
test 方法是:
constructor(props){
super(props);
this.state = {
value: true
};
}
test(){
this.setState( {value: !this.state.value})
}
当我在我的 iOS 应用程序中运行我的模块时,onValueChange 方法被调用并且一切都按预期工作,但是,当我在我的 Android 应用程序中执行相同操作时,当值更改为 false 时,该方法永远不会被调用。更重要的是,我不能多次更改该值,即我只能将值设置为 false,之后不允许我将其设置为 true。我可以再次使用开关元素的唯一方法是按住栏,但是,值永远不会改变(开关组件不会改变它的颜色)也不会改变调用的方法。
有没有人遇到过类似的情况?这是 RN 及其适用于 Android 的 Switch 组件的问题吗?
我正在使用:
- 反应:15.4.1
- 反应原生:0.39
***注意 1:当我将 RN 代码放入活动时会调用 onValueChange,但在片段内时会失败。
【问题讨论】:
-
Android Picker RN 组件存在类似问题
标签: android react-native