升级react-navigation至2.0.0后出现addNavigationHelpers非函数报错求助
这个问题的核心原因是React Navigation 2.x 版本对 addNavigationHelpers 的导出方式做了不兼容变更:
在你之前使用的1.2.1版本里,addNavigationHelpers 是挂载在顶层 ReactNavigation 对象上的,所以可以通过 ReactNavigation.addNavigationHelpers 直接调用;但升级到2.0.0后,这个方法被改成了单独导出的形式,不再属于默认导出的顶层对象,因此你原来的写法就会触发“不是函数”的错误。
下面是修正后的代码:
// 改为单独导入 addNavigationHelpers import { addNavigationHelpers } from 'react-navigation'; // 如果你还需要用到其他导航API,可以保留这行导入 import * as ReactNavigation from 'react-navigation'; render() { const { dispatch, nav } = this.props; const navigation = addNavigationHelpers({ dispatch, state: nav, addListener, }); return <AppNavigation navigation={navigation} />; }
只需要把原来从ReactNavigation对象上获取方法的方式,换成直接导入该函数,就能解决这个问题了。
内容的提问来源于stack exchange,提问作者Shivam
相关产品推荐
相关产品推荐

