You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

点击返回按钮报错:TypeError: 无法读取undefined的'remove'属性(react-native-modal相关)

React Native Modal点击返回按钮报错:TypeError: Cannot read property 'remove' of undefined

错误场景

点击返回按钮时触发以下错误:

TypeError: Cannot read property 'remove' of undefined

错误出自react-native-modal包,对应文件路径:C:\Uuuuuu\node_modules\react-native-modal\dist\modal.js

问题代码片段

componentWillUnmount() {
    BackHandler.removeEventListener('hardwareBackPress', this.onBackButtonPress);
    DeviceEventEmitter.removeListener.remove('didUpdateDimensions', this.handleDimensionsUpdate);
    if (this.interactionHandle) {
        InteractionManager.clearInteractionHandle(this.interactionHandle);
        this.interactionHandle = null;
    }
}

修复方案

问题出在DeviceEventEmitter.removeListener.remove这一行的语法错误:removeListener是DeviceEventEmitter的直接方法,不需要额外链式调用.remove。

把错误行修改为:

DeviceEventEmitter.removeListener('didUpdateDimensions', this.handleDimensionsUpdate);

如果你的代码中是通过addListener返回了订阅实例(比如初始化时执行了this.dimensionsListener = DeviceEventEmitter.addListener('didUpdateDimensions', this.handleDimensionsUpdate)),则应该通过订阅实例调用remove:

if (this.dimensionsListener) {
    this.dimensionsListener.remove();
}

根据当前给出的代码片段,第一种修改方式即可解决该报错。

内容的提问来源于stack exchange,提问作者RAHUL RAJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 23:10:25