2015-10-12 33 views
6

Mi chiedo come sia il modo comune di importare un testo enorme in una vista. Nel mio caso sto sviluppando un'applicazione React Native per Android e iOS, e su una delle mie visualizzazioni voglio presentare il documento "Condizioni d'uso". Ora, quando ho appena importato/copiato incollandolo in un componente di testo, non può essere la soluzione giusta, soprattutto quando ho bisogno di usare la localizzazione per presentare la lingua richiesta. Come potrei "importazione" Questo testo-Block e quindi è bello formattato e non ho bisogno di mettere tutto in mio punto di vista:Importazione di testo dal file json locale in React nativo

<View style={styles.container}> 
     <Text style={styles.text}> |JSON - Text-file, with about 600 words -> Terms of Use document |</Text> 
</View> 

risposta

14

È possibile utilizzare:

import file from './config/TermsAndCondition.json'; 

allora si può trattare come un oggetto JavaScript:

file.description 
+0

Grazie mille. Questo è esattamente quello che sto cercando. –

4

avevo ad esso come JSON, soprattutto se avete bisogno di portare un po ' altri (meta) dati con il testo. Dove fetch(url) è chiamato componentWillMount e <Text>{this.state.hugeText}</Text> componente è popolata:

Come concetto:

constructor(props) { 
    super(props); 
    this.state = { 
    hugeText: '' 
    }; 
} 

componentWillMount() { 
    fetch('myText.json') 
    .then((res) => res.json()) 
    .then((data) => { 
    this.setState({ 
     hugeText: data.something 
    }); 
    }); 
} 
+0

ottengo ' url inaspettato: errore simple.json'. – efkan

1

ho cercato fetch ma non ha funzionato (non è stato in grado di trovare il file).

Ho provato questo posto, e ha funzionato:

// at top of file 
var jsonData = require('./myfile.json'); 


// inside component definition 
render() { 
    let deepProp = jsonData.whatever; 
} 
Problemi correlati