我正在从本地存储获取数据,如果本地存储已更改,则呈现整个组件......我收到此错误,但我不知道原因。
这是一个关于最喜欢的电影和设置最喜欢的项目在本地存储和删除它
let [movies, setMovies] = useState([]);
let [tvs, setTvs] = useState([]);
let [actors, setActors] = useState([]);
let [fav,setFav]= useState([FavList])
let getData =()=>{
window.addEventListener('storage',()=>{
let tvLocal = JSON.parse(localStorage.getItem('FavTvs'));
let moviesLocal = JSON.parse(localStorage.getItem('FavMovies'));
let peopleLocal = JSON.parse(localStorage.getItem('FavActors'));
if(tvLocal!=null&&tvLocal.length!=0){
setTvs([...tvLocal])
}else{setTvs([])}
if(moviesLocal!=null&&moviesLocal.length!=0){
setMovies([...moviesLocal])
}else{setMovies([])}
if(peopleLocal!=null&&peopleLocal.length!=0){
setActors([...peopleLocal])
}else{setActors([])}
}
)
useEffect(()=>{
getData()
},[tvs,movies,actors])
我期待对此问题的解释或解决方案
1条答案
按热度按时间9udxz4iz1#
问题是侦听本地存储。并在useEffect依赖项
[tvs,movies,actors]
要获取存储值,请在useEffect中编写大部分正确的代码。