在react中使用recoil.js,在类组件中不使用hooks

2024-02-22

我是反冲新手,我正在使用所有类别组件。 这是我的后坐力状态

export const tokenState = atom({
  key: "tokenState",
  default: "",
});

如何在类组件中使用recoil并设置token? 我用过RecoilRoot在应用程序中作为

<RecoilRoot>
  <Header />
  <Main />
</RecoilRoot>

In login.js,我想将令牌设置为反冲,但是login.js是一个类组件。

const res = await APIS.login(apiRoute,requestObject);

In res.data.token我正在获取 jwt 令牌。

先感谢您!


Recoil.JS 旨在与 React hooks 一起使用,我认为它们除了 hooks 之外没有提供任何其他功能。 如果您无法将 Login.js 更改为功能组件,请尝试使用包装功能组件,将令牌作为 prop 传递给 login.js 组件。

我建议useRecoilState(myAtom).

function LoginWrapper(props) {
    const [token, setToken] = useRecoilState(myAtom);

    useEffect(() => {
      async function get() {
         const { data: { token: jwt } } = await APIS.login(apiRoute,requestObject);

         setToken(jwt);
      }

      get();
    }, []);

    return <LoginComponent {...props} jwt={token} />
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在react中使用recoil.js,在类组件中不使用hooks 的相关文章

随机推荐