【问题标题】:Undefined is not an object(evaluating '_expo.default.Constants')未定义不是对象(评估'_expo.default.Constants')
【发布时间】:2019-09-26 21:40:45
【问题描述】:

我在const{manifest}=Expo.Constants 中的Constants 收到一个错误,并显示一个错误,因为未定义不是一个对象。我无法得到它。谁能帮我消除这个错误。

我正在尝试在我的计算机上运行的 API 和我在手机上进行调试时建立连接。无论 IP 地址是什么,它都应该连接。

import moment from 'moment';
import Expo from 'expo';

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

const url ='http://localhost:3000';

export function getEvents(){
    return fetch(url)
    .then(response => response.json())
    .then(events => events.map( e =>({...e})));
}
export function formatDateTime(dateString){
    const parsed = moment(new Date(dateString));

    if(!parsed.isValid()){
        return dateString;
    }

    return parsed.format('H A on DD MMM YYYY');
}
export function formatDate(dateString){
    const parsed = moment(new Date(dateString));

    if(!parsed.isValid()){
        return dateString;
    }

    return parsed.format('DD MMM YYYY');
}

export function getCountdownParts(eventDate){
    const duration = moment.duration(moment(new Date(eventDate)).diff(new Date()));
    return{
        days:parseInt(duration.as('days')),
    };
}

db.json 文件中显示在我的模拟器上的预期事件,但是 我收到未定义的错误。

【问题讨论】:

    标签: react-native module momentjs expo


    【解决方案1】:

    以下对我有用:

    而不是

    import Expo from 'expo';
    

    和(例如):

    const { version } = Expo.Constants.manifest;
    

    这给出了上述错误,

    我写道:

    import Constants from 'expo-constants';
    

    和:

    const { version } = Constants.manifest;
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的错误问题:

      undefine is not an object (evaluating _expoLocation.default.reverseGeocodeAsync)
      

      我通过导入更改解决了这个问题。

      之前:

      import Location from "expo-location";
      

      之后:

      import * as Location from "expo-location";
      

      【讨论】:

        【解决方案3】:

        你可以试试这个代码。

        import { Constants as Manifest  } from 'expo';
        

        阅读如何使用它以获取详细的description

        【讨论】:

        • 我已经尝试了您建议的代码,但我得到了同样的错误。 @hong
        • 你能试试这个吗? import * as Expo from "expo"
        猜你喜欢
        • 1970-01-01
        • 2016-12-04
        • 2019-12-12
        • 2019-08-16
        • 2017-01-16
        • 2020-08-06
        • 2020-01-09
        • 2017-05-03
        • 2023-03-07
        相关资源
        最近更新 更多