我来自 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>
更新 我有以下(但还没有运气)一些笔记。我正在使用 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>
);
}
}