如何从React Native输入字段中获取值?

时间:2018-06-18 18:41:57

标签: javascript reactjs react-native

我有一个具有以下状态的登录表单组件:

  constructor(props) {
    super(props);

    this.state = { email: '', password: '', error: '' };

    this.handleOnPress = this.handleOnPress.bind(this);
  }

handleOnPress只需记录this.state.email,就像这样:

  handleOnPress() {
    const { email, password } = this.state;

    console.log(email);
  }

我有一个自定义输入组件:

  <Input
    value={this.state.email}
    placeholder="email@gmail.com"
    onChange={email => this.setState({ email })}
    label="Email"
  />

定义如下:

  <TextInput
    style={styles.input}
    value={value}
    onChange={onChange}
    placeholder={placeholder}
    autoCorrect={autoCorrect}
    secureTextEntry={secureTextEntry}
  />

因此,当点击按钮时,这就是控制台中记录的内容:

Proxy {dispatchConfig: {…}, _targetInst: FiberNode, isDefaultPrevented: ƒ, isPropagationStopped: ƒ, _dispatchListeners: null, …}

不应记录输入字段的值,而不是上述对象?我做错了什么?

2 个答案:

答案 0 :(得分:1)

看起来我正在使用错误的道具。应该是onChange而不是onChangeText,因为<div id='example' data-fn='functiona'>OK</div> $('#button').click function(){ $('#example').attr('data-fn', functionb'); }); function functiona(){ console.log('functiona'); } function functionb(){ console.log('functionb'); } $('#example').click(function(){ // execute function currently stored inside data-fn attribute }); 接受回调的参数。

答案 1 :(得分:1)

你需要这样做

.emacs