reactjs - 导航到新页面不会导致前一页面被卸载
问题描述
我有一个简单的离子应用程序IonReactRouter
<IonApp>
<IonReactRouter>
<IonSplitPane contentId="main">
<Menu selectedPage={selectedPage} />
<IonRouterOutlet id="main">
<Route path="/new-user" component={NewUser} />
<Route path="/users" component={UserList} />
</IonRouterOutlet>
</IonSplitPane>
</IonReactRouter>
</IonApp>
当您在之间导航new-user
并且users
相应的页面(NewUser
和UserList
)未卸载时:
根据这篇文章,这是设计使然
即使用户出于页面转换和状态目的而离开它们,我们也需要控制和保留页面在 dom 中
但是,我发现大多数最终用户都希望单击“新用户”来显示页面的新副本。如何在单击链接时卸载页面或实现相同的目标并“重置”页面?
解决方案
每次用户导航到新的用户页面时,您都可以使用 Ionic Lifecycle 事件来重置表单的状态。每次显示页面时,IonViewWillEnter 都会触发,即使它已经被 React 挂载。
查看文档以获取使用信息:https ://ionicframework.com/docs/react/lifecycle
推荐阅读
- c# - 读取电子邮件设置的 AzureKeyVault 机密值
- single-sign-on - SAP Cloud Platform 和 Cloud Foundry XSAUAA 登录
- c# - 使用 EF Core MVC 播种表数据时出错
- active-directory - Azure Devops,条件访问策略阻止管道运行
- python - 使用 Python 下载 Sharepoint 文件夹中的所有文件?
- c# - 全新 Visual Studio 安装后,Html.AntiForgeryToken 抛出错误“服务器无法在发送 HTTP 标头后修改 cookie”
- python - python:错误:迭代期间字典更改大小@尝试在 SimpleLazyObject 处迭代 django 请求对象时
- javascript - Joi 未处理的承诺拒绝
- bash - youtube-dl 获取频道/播放列表名称并将其传递给 bash 一行脚本
- php - laravel-dompdf | 将 div 显示为列,如 flex