2017-01-13 2 views
0

ziehen Ich versuche, den Inhalt dieser .json Datei (colors.json) zu ziehen. Ich weiß nicht wirklich, was das Problem mit meinem Code ist. Kann nicht verstehen den richtigen Anruf in dem Text-TagKann nicht .json Inhalt aus Datei mit React-native

react-native-cli: 2.0.1 
react-native: 0.39.0 

Quote.js

var colors = require('./colors.json'); 

class Quote extends Component { 
    render() { 
    return (
    <View style={styles.container}> 
      <Text style={[styles.author, styles.text]}>Denise Lee Yohn</Text> 
      **<Text style={styles.quote}> {colors.hexValue}</Text>**   
    </View> 
    ) 
    } 
} 

Colors.json

{ 
    "colorsArray":[{ 
      "colorName":"red", 
      "hexValue":"#f00" 
     }, 
     { 
      "colorName":"green", 
      "hexValue":"#0f0" 
     }, 
     { 
      "colorName":"blue", 
      "hexValue":"#00f" 
     }, 
     { 
      "colorName":"black", 
      "hexValue":"#000" 
     } 
    ] 
} 

Bild von Output (Edit)

enter image description here aus

Antwort

2

Sie müssen eine Schleife für das Farben-Array in der render() -Methode ausführen, um die einzelnen Farben hexValue anzuzeigen.

render() { 
    return (
    <View style={styles.container}> 
     <Text style={[styles.author, styles.text]}>Denise Lee Yohn</Text> 
     { 
     colors.colorsArray.map((color, index) => { 
      return <Text key={index} style={styles.quote}>{color.hexValue}</Text>; 
     }) 
     }   
    </View> 
); 
} 
+0

das scheint nicht zu funktionieren. Es wird überhaupt nichts auf den Bildschirm geschrieben. Muss ich etwas deklarieren, bevor ich den obigen Code in die Datei lösche? (Ich habe meinen Server neu gestartet). – user2026178

+1

Ersetzen Sie einfach Ihre render() mit dem obigen Code und es sollte gut funktionieren. Wenn es immer noch nicht funktioniert, können Sie einen Screenshot machen, was gerade gezeigt wird? –

+0

der Screenshot der Ausgabe ist in der Frage. – user2026178