当状态改变时,我有自动重新渲染视图的问题。状态已更改,但未render()
调用。但是当我打电话时this.forceUpdate()
,一切正常,但我认为这不是最好的解决方案。有人可以帮我吗?
class TODOItems extends React.Component {
constructor() {
super();
this.loadItems();
}
loadItems() {
this.state = {
todos: Store.getItems()
};
}
componentDidMount(){
//this loads new items to this.state.todos, but render() is not called
Store.addChangeListener(() => { this.loadItems(); this.forceUpdate(); });
}
componentWillUnmount(){
Store.removeChangeListener(() => { this.loadItems(); });
}
render() {
console.log("data changed, re-render");
//...
}}