gpt4 book ai didi

reactjs - 在 react 中使用recoil.js,在类组件中不使用钩子(Hook)

转载 作者:行者123 更新时间:2023-12-03 16:10:57 26 4
gpt4 key购买 nike

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

export const tokenState = atom({
key: "tokenState",
default: "",
});
如何在类组件中使用反冲并设置 token ?
我用过 RecoilRoot在应用程序中
<RecoilRoot>
<Header />
<Main />
</RecoilRoot>
login.js ,我想把 token 设置为反冲,但是 login.js是一个类组件。
const res = await APIS.login(apiRoute,requestObject);
res.data.token我正在获取 jwt token 。
先感谢您!

最佳答案

Recoil.JS 旨在与 react 钩子(Hook)一起使用,我认为它们不提供除钩子(Hook)之外的任何其他功能。
如果您无法将 Login.js 更改为功能组件,请尝试使用包装功能组件,将 token 作为 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} />
}

关于reactjs - 在 react 中使用recoil.js,在类组件中不使用钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62860300/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com