2017-06-12 58 views
4

(使用React)我有一个/login路由和一个/signup路由来显示LoginSignUp组件。在我的Login组件中,我使用Auth0's Lock component显示登录表单,并且我还使用container configuration option将表单显示在我自己的div中,而不是默认模式。Auth0锁定组件未在与容器选项的反应中显示

当我的Login组件首次加载时(或刷新/login路由后),Auth0锁定组件将正确加载。 我的问题是当我从/login路线导航到/signup路线,然后回到/login路线和Auth0锁组件根本不加载。当检查页面时,我可以看到我的containerdiv为空。

我发现别人采用了棱角分明运行到同样的问题this issue on Auth0's github,但他们的解决方案是设置auth.config.auth0lib.$containernull这似乎并没有得到很好的解决。

回答

3

通过auth0 Lock source寻找后,我发现了hide方法,解决了我的问题:

hide() { 
    closeLock(this.id, true); 
} 

在我Login组件我重写componentWillUnmount方法,得到了Auth0Lock参考,并调用hide()

componentWillUnmount() { 
    this.lock.hide(); 
} 

现在,当我从我的Login组件/login导航到另一条路线,然后返回到/login Auth0 Lock组件重新加载并正确显示。

相关问题