【问题标题】:Invariant Violation: eventType argument is required when `goBack()` React Navigation 5不变违规:当`goBack()` React Navigation 5 时需要 eventType 参数
【发布时间】:2021-06-28 04:31:59
【问题描述】:

我正在使用 "@react-navigation/native": "^5.9.3", 并尝试使用 Hooks,但不幸的是我在尝试弹出时收到错误 Invariant Violation: eventType argument is required.,即调用 goBakc()
基本上我的所有屏幕都在 single stack 中,我正在尝试在我的子组件中使用钩子,比如说 Header.tsx,它正在整个项目中使用。

代码真的很简单。

import { useNavigation } from "@react-navigation/native"
const { goBack } = useNavigation()

onPress 我只是在打电话。

onPress={() => goBack()}

【问题讨论】:

  • 首先,您在堆栈头中有一个导航道具,因此将其传递到您的组件中,如果您能理解共享您的代码头和堆栈文件代码,您可以像普通的 props.navigation.goBack() 一样访问它所以我可以解决你的问题。
  • 基本上,我正在尝试使用钩子和 react-navigation 提供 useNavigation 钩子,我们可以在任何组件中使用它,所以我们不需要在子组件中传递它,我是只是为我的问题添加屏幕截图

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


【解决方案1】:

不是因为goBack() 或导航问题
我正在使用一些本机模块并添加/订阅自定义事件,以删除它 eventEmitter.removeAllListeners() 这是导致崩溃的原因
刚换成eventEmitter.removeListener('CustomeEventName', () => {})

【讨论】:

    猜你喜欢
    • 2022-12-13
    • 2021-11-04
    • 1970-01-01
    • 2018-12-01
    • 2018-11-02
    • 2019-06-07
    • 2019-09-17
    • 1970-01-01
    • 2018-01-11
    相关资源
    最近更新 更多