Javascript 当一个选项卡在React.js中注销时,如何注销一个浏览器中的所有选项卡?

Javascript 当一个选项卡在React.js中注销时,如何注销一个浏览器中的所有选项卡?,javascript,reactjs,Javascript,Reactjs,我是新来的。我想知道当一个选项卡在React.js中注销时,如何在一个浏览器中自动注销所有选项卡。(不使用redux) 我使用JWT并将JWT存储在本地存储上。 请任何人帮我做这件事。谢谢。添加事件侦听器以跟踪本地存储中jwt的更改 具有使用效果的示例: useEffect(() => { const handleInvalidToken = e => { if (e.key === 'accessToken' && e.oldValue &

我是新来的。我想知道当一个选项卡在React.js中注销时,如何在一个浏览器中自动注销所有选项卡。(不使用redux) 我使用JWT并将JWT存储在本地存储上。
请任何人帮我做这件事。谢谢。

添加事件侦听器以跟踪本地存储中jwt的更改

具有使用效果的示例:

useEffect(() => {
    const handleInvalidToken = e => {
      if (e.key === 'accessToken' && e.oldValue && !e.newValue) {
        // Your logout logic here
        logout()
      }
    }

    window.addEventListener('storage', handleInvalidToken)

    return function cleanup() {
      window.removeEventListener('storage', handleInvalidToken)
    }
  }, [logout])
您可以自己在组件挂载上使用或实现类似的操作。从存储中删除令牌时,编写此代码并调用addEventListener上的操作

    useEffect(() => {
    const handleInvalidToken = e => {
      if (e.key === 'token' && e.oldValue && !e.newValue) {
        // Your logout logic here

        console.log(e)
        logoutAction(history);

      }
    }
    window.addEventListener('storage', handleInvalidToken)
    return function cleanup() {
      window.removeEventListener('storage', handleInvalidToken)
    }
  }, [logoutAction])
2) 在注销中,注销操作将如下所示-Redux操作

export const logoutAction = (history) => dispatch => {
  dispatch({ type: LOGOUT });
  history.push('/signin')
};
3) 在注销还原程序中,如下代码所示-Redux还原程序

case LOGOUT:
        localStorage.removeItem('token');
        return {
          ...state,
          token: null,
          isAuthenticated: false,
          loading: false
        };

生成轮询LocalStorageToken状态的内容请显示您迄今为止尝试的内容。当您从tab-2注销时,是否要将用户发送到tab-1上的登录页面?