反应,触发一个模态在另一个模式关闭时打开



我正在努力实现一个可以打开另一个模态的模态。 我有一个用户注册模式,其中包含"添加联系人"按钮。 单击此按钮会触发"添加联系人模式"出现。

AddContactModal是一个较旧的组件,当前在主Routes组件正上方的App.js文件中调用。

<Router forceRefresh={!supportsHistory()}>
<div className={appClassNames}>
<Providers>
<AddContactModal />
<PhoneVerificationModal />
<NavBar currentUser={this.state.currentUser} />
<div className="app-content">
{Routes(actions)}
<Footer />
</div>
</Providers>
</div>
</Router>

Routes(actions)呈现大部分应用程序。AddContactModal还具有在全局上下文文件中声明的所有函数,因此可以从应用程序中的任何位置打开它。

我的新模态SignUpModal位于特定路由上,并且其所有功能都位于本地钩子文件夹中。

-src
--context
----addContactModalContext.js
--scenes
----Contacts
-------addContactModal.js
----SignUp
------signUpHooks.js
------signUpModal.js

由于使用的结构,我可以调用函数以从我的注册模式打开我的联系人模式。但是,我无法从联系模式重新打开注册模式。

我尝试将事件侦听器添加到注册页面以侦听联系人模式提交,但没有成功。

我知道我可以重组事情,但这将是一项相当大的努力。

希望有人有一些建议。 理想情况下,提交联系人模式将触发注册模式仅在用户在注册页面上时再次打开。

也许在你的上下文中处理你的提交的一些状态,这样它就可以在你的另一个组件中使用useEffect听到,它处理显示你需要的模式。 不确定它是否会有所帮助,但也许这是一个新想法。

相关内容

最新更新