2016-05-19 16 views
9

Kilka powodów może zrobić to:W React Native jak pakujesz plik tekstowy i czytasz jego wartość w czasie wykonywania?

  • stworzyć jakiś WebViews i wstrzyknąć javascript załadowane z plików
  • Aby oddzielić duże ilości tekstu w osobnych plikach, a nie zmuszanie ich do poglądów
  • Aby dołączyć surowe dane z dowolnego formatu (np CSV) do wykorzystania w aplikacji

w React Native można użyć require zaimportować plik obrazu, ale o ile widziałem, to działa tylko na obrazie akta. I (co dziwne) działa również dla plików JSON (patrz Importing Text from local json file in React native). Jednak nie widziałem nigdzie mówienia o importowaniu zwykłych starych plików tekstowych.

+0

Działa również w przypadku plików z rozszerzeniem html, ale csv: nope. – brannigan

Odpowiedz

2

Po obejrzeniu i zrobieniu tego, co najlepsze, mogę użyć biblioteki fork z biblioteki react-native-fs, aby uzyskać dostęp do "zasobów" Androida. Ten widelec jest żądaniem pobrania i zaraz po scaleniu możesz go użyć.

Należy zauważyć, że w Androidzie dev "zasoby" odnoszą się konkretnie do dostępu do nieprzetworzonej zawartości pliku. Aby zrobić tego rodzaju rzeczy po stronie natywnej, musisz napisać natywny moduł do interfejsu z reakcją, stąd powyższa biblioteka. Zobacz here (i wyszukaj zasoby).

W swoim projekcie macierzystym reaguj, zrób plik o nazwie podobnej do android/app/src/main/assets/text.txt. Używanie wersja react-native-fs wspomniano powyżej, należy zrobić:

RNFS.readFileAssets('test.txt').then((res) => { 
    console.log('read file res: ', res); 
}) 

aktualizacji: Jeśli chcesz pull request które pozwoliłyby tę zdolność do przejść, należy udać niech autor, że chcesz go, nadając mu uniesiony na github.

+1

Jako autor tego PR wspieram to rozwiązanie! (Mam nadzieję, że właściciel modułu wkrótce ją zintegruje) –

+0

Co z systemem iOS? – brannigan