javascript - 如何将用户文本输入数据存储到 native react 对象数组中?

标签 javascript reactjs react-native asyncstorage

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

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

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

谢谢你:-)

最佳答案

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

为文本输入定义一个 onChange 事件处理函数,并使用以下命令调用 setState:

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

上面假设您有状态变量 notes ,它保存注释对象的数组。使用扩展运算符,您可以将所有以前的注释复制到新数组,然后添加新注释。您必须这样做,因为状态是不可变的并且不能直接修改。

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

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

其他 Prop 已被省略。

关于javascript - 如何将用户文本输入数据存储到 native react 对象数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42773862/

相关文章:

javascript - 在 jquery 下拉菜单中延迟关闭切换

javascript - 在 Vue 上将对象作为 Prop 传递

javascript - 有没有办法在磁带上制作 setUp 和 tearDown 方法?

reactjs - 用户授权后如何在所有子组件之间传递状态?

react-native - React Native Jest 测试套件失败 : TypeError: Cannot read property 'propTypes' of undefined

javascript - 像 stackoverflow 中一样使用 .net mvc 3 动态预览表单帖子

css - 如何将嵌套样式传递给 React 中的组件

javascript - 为什么我的组件不显示在我的 React 页面上?

ios - React-Native 不支持的布局动画

android - "react-native log-android"错误 "adb' logcat -c "failed. adb' logcat -c 运行正常。 [Ubuntu]