【问题标题】:How to update previous screen params from current screen in react-navigation 5如何在 react-navigation 5 中从当前屏幕更新以前的屏幕参数
【发布时间】:2020-05-29 15:21:21
【问题描述】:

react-navigation 4 中,我将function 作为参数传递给导航屏幕。但是在 react-navigation 5 中,这有一个不推荐的警告。那么现在如何从当前屏幕更新前一个屏幕的参数?

例子:

  1. 我在一个聊天组中。
  2. 我点击群组图片。
  3. 在新屏幕中,我更新了组名。
  4. 现在我点击hardware back button返回。
  5. 现在组名应该是新的更新名称。

那么这怎么可能呢??

我知道我可以使用navigation.navigate() 返回参数,但在大多数情况下,用户使用单击硬件返回按钮而不是单击返回箭头。

【问题讨论】:

    标签: reactjs react-native react-navigation-v5


    【解决方案1】:

    您可以使用此处描述的新方法来处理硬件后退按钮:https://reactnavigation.org/docs/en/custom-android-back-button-handling.html#__docusaurus

    但我认为你不应该走这条路。您应该将组名连接到本地存储,并在渲染函数中观察此变量。最好让渲染器自行更新,而不是尝试使用后处理程序进行强制刷新。

    【讨论】:

      【解决方案2】:

      您可以使用存储(使用 redux、钩子或使用本地存储)。然后,当屏幕成为焦点时,您可以使用 Navigation events => focus 方法。然后你可以获取更新的商店数据并重新渲染 UI。

      【讨论】:

      • 我知道你说的,但是这里是群组列表,我们有动态的群组列表,所以当我点击一个群组时,群聊被打开并且群组名称没有特殊的全局变量图片等。
      猜你喜欢
      • 1970-01-01
      • 2018-07-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-20
      • 1970-01-01
      相关资源
      最近更新 更多