react-native - 当 RN 屏幕变化时(调用导航时)监听的钩子(Hook)

标签 react-native react-native-navigation

使用 react native 导航: https://reactnavigation.org/docs/use-navigation/

有没有办法监听 View /屏幕的变化?什么时候调用 nav.navigate() ? 我们可以创建自己的包装器,然后自己调用钩子(Hook),但我想知道是否有内置的方法来监听 View /屏幕的更改?目标是在用户导航时隐藏 snackbar (如果正在显示)。

最佳答案

您有两种方式来监听屏幕变化:

  1. 订阅状态变化,可以阅读更多here

  2. 使用 NavigationContaineronStateChange 属性,您可以阅读更多内容 here

您可以在那里进行检查并随时隐藏 snackbar 。与包装 useNavigation Hook 相比,它的优点是它不仅可以与您的自定义 Hook 一起使用,还可以与传递到导航器中所有屏幕的 navigation 属性一起使用。

关于react-native - 当 RN 屏幕变化时(调用导航时)监听的钩子(Hook),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62075318/

相关文章:

react-native - 获取 'Invariant Violation: ` 刷新属性必须设置为 bool 值才能使用 `onRefresh` ,但得到 `undefined` '

reactjs - React Native EXPO Apple上传失败

javascript - undefined 不是一个对象(评估 _this2.props.navigation.navigate)

ios - react native 导航与 react native Sentry ios

javascript - 来自 Facebook 的 React Native Navigator 示例代码失败 : type is invalid: expected a string (for built-in components) or a class/function

android - Web View 中的 native 登录和应用程序的其余部分

javascript - 是否可以创建 React-native 组件的索引并将它们作为 prop 有条件地传递?

javascript - 在 React Native Navigation V2 中添加 Tab 导航

react-native - 如何在 React Native 中直接打开应用的位置权限设置

reactjs - 如何使用 Redux Provider 包装导航堆栈(createSwitchNavigator)?