【发布时间】:2019-12-13 18:48:38
【问题描述】:
当我尝试使用 auth0 的 parseHash 时,我是 auth0 的新手。令我惊讶的是,这个函数以某种方式返回 null。我试图窥视source code,看来这个函数最终会尝试返回一些东西。
这是让我感到困惑的代码部分:
import React from 'react';
import { Link } from '@reach/router';
import './Callback.sass';
export const Callback = ({ auth, navigate }) => {
let result = auth.parseHash((err, authResult) => {
if (err) {
return (
<div className="error">
<h1>{err.error}</h1>
<p>{err.errorDescription}</p>
<Link to="/">Home</Link>
</div>
);
} else {
console.log({ authResult });
return 'profile';
// localStorage.setItem('authResult', JSON.stringify(authResult));
// navigate('/profile');
}
});
console.log({ result });
if (result) return result;
return <React.Fragment />;
};
我认为这真的令人困惑。控制台记录“authResult”部分,但result 是undefined。 (我什至用 async await 进行了测试,仍然无法达到我的预期)。
我目前只是包装结果来解决这个问题。
这是一个错误吗?还是我使用的方法不对?
【问题讨论】:
标签: reactjs auth0 reach-router