Javascript 使用上下文API会导致未定义的错误

Javascript 使用上下文API会导致未定义的错误,javascript,reactjs,Javascript,Reactjs,因此,我使用Auth0进行用户注册。我正在尝试获取sub:value下的用户id,以添加到我的数据库中,以识别用户的帖子。我正在尝试使用上下文API来获取要放入数据库的用户信息 react-auth0-spa.js class AddAlbum extends Component { constructor(props) { super(props); } componentDidMount() { let value = this.context; consol

因此,我使用Auth0进行用户注册。我正在尝试获取sub:value下的用户id,以添加到我的数据库中,以识别用户的帖子。我正在尝试使用上下文API来获取要放入数据库的用户信息

react-auth0-spa.js

class AddAlbum extends Component {
  constructor(props) {
    super(props);
 }

componentDidMount() {
    let value = this.context;
    console.log(value);

  }

render() {
    return (
)
}
AddAlbum.contextType = Auth0Context;
这给了我用户:未定义

在我的index.js中,我有这个

我相信这给了我这些结果:


所以我想知道为什么我的上下文API不起作用,并给我user:undefined。

当组件第一次装载时,您正在记录用户,这比等待auth0FromHook.getUser调用完成要早得多。将其记录在componentDidUpdate中,或者如果该值可用,请检入父组件,并且在该值可用之前不要装载子组件。

当组件首次装载时,您正在记录用户,这看起来距离等待auth0FromHook.getUser调用完成还有很长时间。将其记录在componentDidUpdate中,并查看是否there@AndyRay嘿,那起作用了。谢谢
class AddAlbum extends Component {
  constructor(props) {
    super(props);
 }

componentDidMount() {
    let value = this.context;
    console.log(value);

  }

render() {
    return (
)
}
AddAlbum.contextType = Auth0Context;
ReactDOM.render(
  <Auth0Provider
    domain={config.domain}
    client_id={config.clientId}
    redirect_uri={window.location.origin}
    onRedirectCallback={onRedirectCallback}
  >
    <App />
  </Auth0Provider>,
  document.getElementById("root")
);