2017-05-03 6 views
0

Mein Englisch ist schlecht, aber ich werde versuchen, mein Problem zu erklären.Erhalten Requisiten von Kontakten mit Komponente react-native-Kontakte

Ich habe die Prop GivenName von Kontakten in React Native Android erhalten. Ich installierte die Komponente reagieren-native-Kontakte und nutzen Sie den nächsten Code mit console.log() den Namen nur Kontakt zu drucken:

import React, { Component } from 'react'; 
... 
import Contacts from 'react-native-contacts'; 
... 
class myComponent extends Component { 
... 
render() { 
    Contacts.getAll((err, contacts) => { 
    console.log(typeof err + err); 
    if(err === 'denied'){ 
    // x.x 
    } else { 
    console.log(contacts); 
    console.log("Nombre de contacto: " + contacts[0].givenName); 
    } 
    }) 
    return (
    <Container> 
    ... 
    <View> 
     <Text>{}</Text> 
    </View> 
    </Container> 
); 
} 
} 

Also, ich brauche den Namen des Kontakts in {} zu drucken. Ich habe versucht, es zu bekommen, als wäre es ein flaches Objekt. Vielen Dank!

Antwort

0

Sie Ihren Code aus machen und

Zustand verwenden bewegen sollte
componentWillMount() { 
    Contacts.getAll((err, contacts) => { 
    console.log(typeof err + err); 
    if(err === 'denied'){ 
    // x.x 
    } else { 
     console.log(contacts); 
     console.log("Nombre de contacto: " + contacts[0].givenName); 
     this.setState({contacts}); 
    } 
    }) 
} 

dann Ihre render() wie

für Ihre Antwort
<View> 
    <Text>{this.state.contacts[0].givenName}</Text> 
</View> 
+0

Dank sein. Ich habe Ihren Vorschlag ausprobiert, aber die Ausführung des Projekts zeigt: Die Eigenschaft '0' von undefined kann nicht gelesen werden. –

+0

Klingt, als ob Sie versuchen, es vor der Rückgabe von Contacts.getAll() zu rendern, sollte eine Null-Überprüfung für state.contacts wahrscheinlich funktionieren? –

+0

Ok, wenn überprüfen state.contacts == null, zeigt in der Konsole false. Also, der Staat kommt nicht an {...}? –

Verwandte Themen