2015-10-12 10 views
6

Zastanawiam się, jak najpowszechniejszym sposobem jest importowanie dużego tekstu do widoku. W moim przypadku opracowuję React Native App na Androida i iOS, a na jednym z moich widoków chcę przedstawić dokument "Warunki użytkowania". Teraz, kiedy po prostu importuję/kopiuję wkleić go do komponentu tekstowego, to po prostu nie może to być właściwe rozwiązanie, szczególnie gdy potrzebuję użyć lokalizacji do przedstawienia potrzebnego języka. Jak bym „import” tego tekstu-Block tak miło jest sformatowana i ja nie potrzebujesz, aby umieścić wszystko na mój widok:Importowanie tekstu z lokalnego pliku json w React native

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

Odpowiedz

14

Można użyć:

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

następnie można traktować go jako JavaScript Object:

file.description 
+0

Dziękuję bardzo. Właśnie tego szukam. –

4

bym do niego jako JSON, szczególnie jeśli trzeba przynieść inne (meta) dane z tekstem. Gdzie fetch(url) nazywa na componentWillMount i <Text>{this.state.hugeText}</Text> składnikiem jest wypełniana:

Jako koncepcja:

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

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

uzyskać ' nieoczekiwany adres URL: błąd simple.json'. – efkan

1

Próbowałem fetch ale to nie działa (nie udało się odnaleźć pliku).

Próbowałem zamiast tego, i to działało:

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


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