0

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

例子:

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

那么这怎么可能?

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

4

2 回答 2

1

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

于 2020-02-14T03:29:57.417 回答
1

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

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

于 2020-02-13T22:11:04.103 回答