React Native集成Mobx6时报AuthStore.modalUrl未定义错误求助
MobX集成报错排查思路
以下是对应问题的可直接落地的排查点:
- 修正导入语法错误:AuthStore采用
export default默认导出规范,App.js中使用import { AuthStore } from './mobx/AuthStore'的命名导入语法错误,会导致导入值为undefined,需改为import AuthStore from './mobx/AuthStore' - 修正Provider传值错误:App.js中已实例化store对象
const authStore = new AuthStore(),但给Provider传参时错误传入了类本身authStore={AuthStore},而非实例对象,类上不存在定义的实例属性,需改为authStore={authStore}传入实例 - 修正属性名拼写错误:AuthStore中定义的可观察属性名为
urlModal,但在MonitorAppOverlay组件中解构的是modalUrl,变量名完全颠倒,两边统一属性名即可 - 补全MobX API导入:AuthStore构造函数中调用了
makeObservable(this),但代码中没有从mobx包导入该API,需在AuthStore.js的导入语句中加入makeObservable - 删除冗余标签:App.js中嵌套了两层
<NavigationContainer>,会导致导航逻辑异常,删掉多余的一层即可 - (可选)装饰器语法适配:若使用装饰器语法需要确保项目已开启Babel装饰器支持,安装
@babel/plugin-proposal-decorators并在babel.config.js中配置legacy: true
内容的提问来源于stack exchange,提问作者Mark Lloyd
相关产品推荐
相关产品推荐

