如何在页面之间进行通信



我在webview中有一个单页应用程序。

我有3个页面A B和C, A是一个列表页面,B是编辑页面,C是B的子页面,点击A中的一个列表项,进入B页,B从远程服务器获取数据并显示数据,当点击B的一个字段,进入C页,用户可以在C页编辑,然后点击C页的"保存"按钮,然后返回B页。

流程如下:

点击A页的一个项目=>

B从远程服务器获取数据并显示=>

点击B的一个字段,转到C=>

用C语言编辑数据并点击"保存"按钮=>

转到B页,B显示部分新数据

我的问题:

C必须使用"browserHistory.goBack()"来转到b。

当用户从c返回时,B不应该获取数据

B应该显示c的数据

B不知道是A还是c。

目前我通过使用redux状态和动作修复了这些问题。但我认为这不是一个好的解决方案。如果C是一个公共页面,C不应该知道b的存在。

谁有更好的解决方案?

action -> store方法是可行的。如果组件挂载时数据还不存在,那么您的页面A、B和C应该侦听该存储并获取数据。

如果C是一个公共页面,当它加载时,它将尝试使用Store中的数据,因为它不在那里,它将触发一个操作来为您获取数据并将其放入Store中。同时,你的"C"页面将显示经典的"Loading…"消息

相关内容

  • 没有找到相关文章

最新更新