1
votes

Undefined n'est pas un objet (évaluation de '_expo.default.Constants')

J'obtiens une erreur au niveau de Constantes dans const {manifest} = Expo.Constants et je m'indique une erreur car undefined n'est pas un objet. Je ne suis pas en mesure de l’obtenir. Quelqu'un peut-il m'aider à supprimer cette erreur.

J'essaie d'établir une connexion entre l'API exécutée sur mon ordinateur et lorsque je débogue sur mon téléphone. il doit se connecter quelle que soit l'adresse 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')),
    };
}

Les événements attendus seront affichés sur mon émulateur à partir du fichier db.json mais J'obtiens une erreur car non définie.


0 commentaires

3 Réponses :


0
votes

vous pouvez essayer ce code.

import { Constants as Manifest  } from 'expo';

Découvrez comment l'utiliser pour une description .


2 commentaires

J'ai essayé le code que vous avez suggéré mais j'obtiens la même erreur. @hong


Pouvez-vous essayer ça? importer * en tant qu'expo depuis "expo"



4
votes

Ce qui suit fonctionne pour moi:

Au lieu de

const { version } = Constants.manifest;

et (par exemple):

import Constants from 'expo-constants';

Ce qui a donné l'erreur ci-dessus,

j'ai écrit:

const { version } = Expo.Constants.manifest;

et:

import Expo from 'expo';

0 commentaires

1
votes

J'ai eu le même problème avec l'erreur:

import * as Location from "expo-location";

Je l'ai résolu avec une modification d'importation.

Avant:

import Location from "expo-location";


0 commentaires