Javascript Auth0锁组件未显示在“与容器反应”选项中
(使用React)我有一个Javascript Auth0锁组件未显示在“与容器反应”选项中,javascript,reactjs,auth0,Javascript,Reactjs,Auth0,(使用React)我有一个/login路由和一个/signup路由来显示登录和注册组件。在我的Login组件中,我使用来显示登录表单,并且我还使用了,以便表单显示在我自己的div中,而不是作为默认模式 当myLogin组件第一次加载时(或刷新/Login路由后),Auth0 Lock组件将正确加载我的问题是,当我从/login路径导航到/signup路径,然后返回到/login路径时,Auth0 Lock组件根本没有加载。检查页面时,我可以看到我的容器div是空的 我发现有许多人使用Angula
/login
路由和一个/signup
路由来显示登录
和注册
组件。在我的Login
组件中,我使用来显示登录表单,并且我还使用了,以便表单显示在我自己的div
中,而不是作为默认模式
当myLogin
组件第一次加载时(或刷新/Login
路由后),Auth0 Lock组件将正确加载我的问题是,当我从/login
路径导航到/signup
路径,然后返回到/login
路径时,Auth0 Lock组件根本没有加载。检查页面时,我可以看到我的容器div
是空的
我发现有许多人使用Angular遇到了同样的问题,但他们的解决方案是将auth.config.auth0lib.$container
设置为null
,这似乎不是一个好的解决方案。在查看了之后,我找到了解决我问题的hide
方法:
hide() {
closeLock(this.id, true);
}
在我的Login
组件中,我重写了该方法,获取对Auth0Lock
的引用,并调用hide()
:
现在,当我从位于/Login
的/Login
组件导航到另一个路由,然后返回到/Login
时,Auth0 Lock组件将重新加载并正确显示
componentWillUnmount() {
this.lock.hide();
}