【发布时间】:2017-09-04 22:03:25
【问题描述】:
我在使用从本地存储中的数组获取数据的组件时遇到问题。它在页面加载时获取初始数据,但是当 localstorage 更改时如何更新?
import React, {Component} from 'react';
class MovieList extends Component {
constructor(props){
super(props)
this.state = {
filmList: []
}
}
componentWillMount(){
var film = [],
keys = Object.keys(localStorage),
i = keys.length;
while ( i-- ) {
film.push( localStorage.getItem(keys[i]))
}
this.setState({filmList: film})
};
render(){
return(
<ul>
<li>{this.state.filmlist}</li>
</ul>
);
}
}
export default MovieList;
【问题讨论】:
-
你无法真正听到本地存储的变化。当您更新本地存储值时,您应该发出一些事件来更新组件的状态。
-
你如何更改本地存储。
-
@LeeHanKyeol 这听起来不错。我会试试的。
-
我不确定如果 localStorage 值的更改源自与侦听器正在运行的同一选项卡,是否会触发该事件...
-
有人找到解决方案了吗?我需要相同类型的解决方案。
标签: javascript reactjs localhost state