我正在使用 firebase 并做出react。我正在通过数据库进行映射,试图为每个项目分配一个键。我以前这样做过并且没有问题,但出于某种原因,React 不喜欢它。我使用 componentDidMount 将我的应用程序同步到 firebase,这是我从 firebase 获取每个项目和唯一键的地方。此外,console.log 为我提供了我想要的正确密钥。
componentDidMount() {
this.todosRef.on('child_added', snapshot => {
const todo = snapshot.val();
todo.key = snapshot.key;
console.log(todo.key);
this.setState({ todos: this.state.todos.concat( todo ) });
});
}
但是当我映射数组并分配键时,它会引发错误: Cannot create property 'key' on string '
这是我的映射方式:
const listOfTodos = this.state.todos.map( (todo) => {
return <li key={todo.key}>{todo}</li>
});