Я использую Firebase и реагирую. Я сопоставляю базу данных, пытаясь назначить ключ каждому элементу. Я делал это раньше и у меня не было проблем, но по какой-то причине 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>
});