【问题标题】:undefined is not an object ( evaluating '_expo.default.Constants')undefined 不是对象(评估 '_expo.default.Constants')
【发布时间】:2019-05-01 03:37:47
【问题描述】:

我想在我的手机/模拟器上进行调试并将其动态指向 API。

const {manifest} = Expo.Constants; 
const api = manifest.packagerOpts.dev
? manifest.debuggerHost.split(':').shift().concat(':3000')
: 'productionurl.com'


export function getEvents(){
    return fetch('http://${api}/events')
    .then(response => response.json())
    .then(events => events.map(e =>({ ...e, date: new Date(e.date)})));
}

我收到以下错误:

未定义不是对象(正在评估'_expo.default.Constants')

【问题讨论】:

  • 从 'expo 导入 Expo, {Constants}
  • 我导入了相同的内容,但它反映了相同的错误。
  • import * as Expo from ‘expo'
  • 是的,它解决了问题感谢@hong develop
  • 如果我的回答有帮助,请选择我的回答。

标签: react-native expo manifest.json


【解决方案1】:

我与"sdkVersion": "35.0.0" 合作。 Expo似乎改变了它的API。他们提取并移动了一些部分到单独的包中。 现在对于这种情况,您需要安装一个单独的依赖项:

npm i --save expo-constants

然后为您的组件独立导入FileSystem 对象:

import Constants from 'expo-constants';

【讨论】:

    【解决方案2】:

    将展会的完整模块带上:

    import * as Expo from 'expo'
    

    【讨论】:

      【解决方案3】:

      在 Snack.expo.io 工作时,如果遇到此错误,请使用代码:

      import Constants from 'expo-constants';
      

      这对我有用。

      【讨论】:

        猜你喜欢
        • 2019-09-26
        • 2015-07-16
        • 2020-07-16
        • 2018-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多