我有一个React App,它可以立即(在加载时)检查是否有cookie,然后如果有cookie,则执行功能等。
但是该应用将通过重定向加载
这是到目前为止的代码:
export class Landing extends Component {
constructor(props) {
super(props);
this.state = {};
}
componentDidMount() {
function onLoad(props) {
const cookieValue = Cookies.get("cookieJWT");
if(cookieValue){
console.log(cookieJWT);
} else { console.log('No cookie found!') }
}
onLoad();
}
}
问题是,onLoad()函数运行得如此之快,以至于无法准备好来自重定向的cookie,因此返回的结果就不存在!
我尝试使用componentDidMount(),但认为我需要使用async和await,但是我该如何做,以便它等待cookie加载/重定向正确完成?
预先感谢:)
答案 0 :(得分:0)
是的,这是您需要做的,它是名称回调。
顺便说一句,我认为使用cookie的localStorage会更好。
// set
try {
yield localStorage.setItem("jwt","some value");
} catch (error) {
console.log(error);
}
//get
try {
const jwt= yield localStorage.getItem(jwt); //some value
const token= yield localStorage.getItem(token);//null
} catch (error) {
console.log(error);
}