jes*_*ica 4 javascript local-storage reactjs next.js
当localStorage myCart数组发生任何变化时,如何立即更新购物车页面数据?下面是我的代码
const [cart, setCart] = React.useState([])
React.useEffect(() => {
setCart(JSON.parse(localStorage.getItem('myCart')) || [])
}, [])
Run Code Online (Sandbox Code Playgroud)
在cart被更新时,页面重新加载,但不是在新项目中添加或更新任何现有的项目!
我怎样才能做到这一点,cart如果对“localStorage”进行任何更改,它会立即更新?
提前致谢。
您可以向事件添加事件侦听器localstorage
React.useEffect(() => {
window.addEventListener('storage', () => {
// When local storage changes, dump the list to
// the console.
setCart(JSON.parse(localStorage.getItem('myCart')) || [])
});
}, [])
Run Code Online (Sandbox Code Playgroud)
Window 接口的 storage 事件在存储区域(localStorage)被修改时触发。 storage 事件仅在非自身的窗口进行更改时触发。
.
| 归档时间: |
|
| 查看次数: |
6996 次 |
| 最近记录: |