相关疑难解决方法(0)

在js中观察localstorage的变化

我有一个单页应用程序,我需要对本地存储中的每个更改做出反应,它看起来像:

    MyComponent {
    
    someFuncWhichIsCalledEveryTimeWhenLocalStorageChanges() {
        console.log('local storage changed!);
    }
    
    funcThatChangesLocalStorage() {
        localstorage.setItem('key',val);
        localstorage.getItem('key')
    }
    
    }
Run Code Online (Sandbox Code Playgroud)

我尝试使用 localstorage 事件:

window.addEventListener('storage', function(event){
       ...
});
Run Code Online (Sandbox Code Playgroud)

但这不起作用......所以我正在考虑使用Observable<>,只是不知道如何正确实现它。

javascript local-storage typescript reactjs

11
推荐指数
5
解决办法
2万
查看次数

在同一窗口中使用localStorage监听更改

我想在同一页面上监听localStorage API中发生的更改(不像规范所说的那样在多个标签中).

我目前正在使用此代码:

var storageHandler = function () {
    alert('storage event 1');
  };

  window.addEventListener("storage", storageHandler, false);

localStorage.setItem('foo', 'bar');
Run Code Online (Sandbox Code Playgroud)

有没有人知道一个vanilla JavaScript方式在一个页面上监听localStorage上的事件(没有jQuery)

javascript events local-storage

9
推荐指数
3
解决办法
1万
查看次数

localStorage中的值发生变化时如何使用Effect?

在我的反应应用程序中,我将用户数据过滤器保存到本地存储中。当数据更改时,我想使用Effect。如何正确触发该效果?我试过这个:

useEffect(() => {
    if (rawEstateObjects.length && localStorage.activeEstateListFilter) {
      const activeFilter = JSON.parse(localStorage.activeEstateListFilter)
      if (activeFilter.length) {
        applyFilter(activeFilter)
      }
    }
  }, [rawEstateObjects, localStorage.activeEstateListFilter])
Run Code Online (Sandbox Code Playgroud)

localStorage.activeEstateListFilter不触发效果..

javascript local-storage reactjs

5
推荐指数
1
解决办法
6453
查看次数

如何让useEffect监听localStorage的任何变化?

我试图让我的 React 应用程序从 localStorage 获取 todos 对象数组并将其交给 setTodos。为此,我需要有一个 useEffect 来监听本地存储中发生的任何更改,所以这就是我所做的:

  useEffect(() => {
      if(localStorage.getItem('todos')) {
        const todos = JSON.parse(localStorage.getItem('todos'))
        setTodos(todos);
      }
  }, [ window.addEventListener('storage', () => {})]);
Run Code Online (Sandbox Code Playgroud)

问题是每次我从 localStorage 添加或删除某些内容时都不会触发 useEffect 。这是让 useEffect 监听 localStorage 的错误方法吗?

我尝试了此处解释的解决方案,但它对我不起作用,我真诚地不明白为什么它应该起作用,因为监听器没有作为 useEffect 中的第二个参数传递

javascript reactjs

4
推荐指数
1
解决办法
1万
查看次数

标签 统计

javascript ×4

local-storage ×3

reactjs ×3

events ×1

typescript ×1