我想在移动设备/模拟器上进行调试并将其动态指向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')
答案 0 :(得分:7)
我与"sdkVersion": "35.0.0"
合作。看来Expo改变了它的API。他们提取了一些零件并将其移至单独的包装中。
现在,在这种情况下,您需要安装一个单独的依赖项:
npm i --save expo-constants
然后为您的组件独立导入FileSystem
对象:
import Constants from 'expo-constants';
答案 1 :(得分:1)
带来博览会的完整模块。
import * as Expo from ‘expo'
答案 2 :(得分:0)
在Snack.expo.io中工作时,如果出现此错误,请使用代码:
import Constants from 'expo-constants';
这对我有用。