Я прихожу из Angular 1.x и надеется обновить неупорядоченный список с помощью React/Redux.Обновление массива в реактиве
В console.log, я вижу, что массив обновляется, но, похоже, он не привязан к DOM. У меня есть следующее:
onKeyPress ввода, у меня есть функция, которая толкает массив сообщений.
<ul className="list-inline">
{messages.map(function(message, key){
return (
<li key={key} message={message}>{message}</li>
);
})}
</ul>
Update У меня следующее (но не повезло еще) Некоторые примечания. Я использую Firebase для прослушивания событий и добавления в массив. Хотите узнать, связана ли проблема с привязкой? -
class Comments extends React.Component {
constructor(props, context) {
super(props, context);
this.state = {messages: this.props.messages};
}
componentDidMount() {
const path = '/comments/all';
// Firebase watches for new comments
firebase
.database()
.ref(path)
.on('child_added', (dataSnapshot) => {
this.state.messages.push(dataSnapshot.val());
this.setState({
messages: this.state.messages
});
//console.log(dataSnapshot.val());
});
}
render() {
const messages = this.state.messages;
return (
<ul className="list-inline">
{messages.map(function(message, key){
<li key={key}>{message}</li>
})}
</ul>
);
}
}
FYI, ваш [принятый в настоящее время ответ] (https://stackoverflow.com/a/39044375/157247) неверен. –