首页 > 解决方案 > 对来自选取器的原生值做出反应

问题描述

文档:https ://facebook.github.io/react-native/docs/picker

构造函数:

constructor(props) {        
  super(props);         
  this.state = {            
      showPass: true,
      press: false,
      email: "",
      age: 0,
      sexe:"",
      password: "",
      confirmPass: ""       
     } 
  }

JSX:

<Picker
    selectedValue={this.state.sexe}
    onValueChange={(value) => {this.setState({sexe: value})}}>
    <Picker.Item label="Homme" value="homme" />
    <Picker.Item label="Femme" value="femme" />
</Picker>

问题:我不知道为什么 this.state.sexe 不受影响

数据库用户 PS:React Native 的初学者

标签: react-nativefirebase-realtime-databasepicker

解决方案


您应该在 state 上指定默认选择,然后只有 onValueChange 会触发

试试下面的代码

  constructor(props) {        
  super(props);         
  this.state = {            
      showPass: true,
      press: false,
      email: "",
      age: 0,
      sexe:"homme",
      password: "",
      confirmPass: ""       
     } 
  }

和 JSX

<Picker
    selectedValue={this.state.sexe}
    onValueChange={(value) => {this.setState({sexe: value})}}>
    <Picker.Item label="Homme" value="homme" />
    <Picker.Item label="Femme" value="femme" />
</Picker>

推荐阅读