有没有人知道如何将用户文本输入数据存储到React Native中的对象数组中?
[
{
note: ‘some note’,
created_at: 123456789
},
{
note: ‘another observation note’,
created_at: 123456789
}
]
我目前只使用基本的Asyncstorage。我有一个文本输入字段供用户输入注释。它目前将其保存为数组中的字符串。我想知道如何使用一组对象来做到这一点。另外,我如何添加created_at时间戳?
谢谢: - )
答案 0 :(得分:1)
听起来更像是一个基本的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} />
其他道具已被省略。