开发者问题收集

undefined 不是对象(评估'_expo.default.Constants')

2019-05-01
14359

我想在我的手机/模拟器上进行调试并将其动态指向 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)})));
}

我收到以下错误:

undefined is not an object(evaluating'_expo.default.Constants')

3个回答

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

npm i --save expo-constants

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

import Constants from 'expo-constants';
Roman
2019-10-02

携带博览会完整模块:

import * as Expo from 'expo'
hong developer
2019-05-07

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

import Constants from 'expo-constants';

这对我有用。

Raj
2020-08-05