我在使用从本地存储中的数组获取数据的组件时遇到问题。它在页面加载时获取初始数据,但是当 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;
原文由 jermain joseph 发布,翻译遵循 CC BY-SA 4.0 许可协议
根据 Mozilla 的 Web API 文档,只要对
StorageEvent
Storage
对象进行更改,就会触发 --- 。我在我的应用程序中创建了一个警报组件,只要对特定的
localStorage
项目进行了更改,该组件就会关闭。我会添加一个代码片段供您运行,但由于跨源问题,您无法通过它访问 localStorage。