0

有谁知道如何将用户文本输入数据存储到 React Native 中的对象数组中?

[
  {
    note: ‘some note’,
    created_at: 123456789
  },
  {
    note: ‘another observation note’,
    created_at: 123456789
  }
]

我目前只使用基本的 Asyncstorage。我有一个文本输入字段供用户输入注释。它当前将其保存为数组中的字符串。我想知道如何做到这一点,但要使用一组对象。另外,我将如何添加 created_at 时间戳?

谢谢 :-)

4

1 回答 1

1

听起来更像是一个基本的 JavaScript 问题。在 React 的上下文中,您只需将注释列表存储在组件状态(或应用程序状态,如果使用像 Redux 之类的东西)。

onChange为文本输入定义一个事件处理函数并调用setState

onSomeInputChange = (text) => {
  const note = {
    note: text,
    created_at: Date.now()
  };
  this.setState({ notes: [ ...this.state.notes, note ] });
}

以上假设您有一个状态变量notes,其中包含一个 note 对象数组。使用扩展运算符,您可以将所有以前的注释复制到一个新数组中,然后添加新注释。你必须这样做,因为状态是不可变的,不能直接修改。

然后将该函数传递给文本输入组件的 onChange:

<TextInput ... onChange={this.onSomeInputchange} />

其他道具已省略。

于 2017-03-13T22:08:32.857 回答