React Native在Redux中获取TextInput值

时间:2018-08-12 08:38:28

标签: reactjs react-native redux

在使用香草React Native一段时间后,我目前正在学习如何使用Redux。我正在尝试了解如何存储TextInput的值。以前,我只是将值存储在状态中。我尝试了一些事情,包括下面的代码示例。

当前,todoInput.value未定义。我还尝试过将value的{​​{1}}属性直接分配给用TextInput定义的变量,但这仍然没有定义。

如何更改代码,以确保let的值未定义?

TextInput

1 个答案:

答案 0 :(得分:2)

您可以制作一个有状态组件,以便将value传递到组件state,以便可以在多个地方使用

根据您的情况(假设该组件已连接)

class AddTodo extends React.Component {
  state = {
    todoInput: null
  }

  addNewTodo = () => {
    this.props.dispatch(addNewTodo(this.state.todoInput))
  }

  render() {
    return (
      <View>
        <TextInput onChangeText={text => this.setState({todoInput: text})} value={this.state.todoInput} {...{/*Other Props*/}}/>
        <Button title="Add Todo" onPress={this.addNewTodo}></Button>
      </View>
    )
  }
}