Jak mogę przechowywać pliki lokalne, takie jak JSON, a następnie pobrać dane z kontrolera?
Odpowiedzi:
Od React Native 0.4.3 możesz czytać lokalny plik JSON w następujący sposób:
const customData = require('./customData.json');
a następnie uzyskaj dostęp do customData jak do zwykłego obiektu JS.
react-native -v
i spróbować przeczytać plik package.json
.
Wersja ES6 / ES2015:
import customData from './customData.json';
customData
import myJsonFile from './foobar.json';
W przypadku ES6 / ES2015 możesz importować bezpośrednio, jak:
// example.json
{
"name": "testing"
}
// ES6/ES2015
// app.js
import * as data from './example.json';
const word = data.name;
console.log(word); // output 'testing'
Jeśli używasz TypScriptu, możesz zadeklarować moduł json taki jak:
// tying.d.ts
declare module "*.json" {
const value: any;
export default value;
}
Użyj tego
import data from './customData.json';
może mógłbyś użyć AsyncStorage setItem i getItem ... i zapisać dane jako ciąg, a następnie użyć parsera json, aby przekonwertować je ponownie na json ...
Spójrz na ten problem Github:
https://github.com/facebook/react-native/issues/231
Próbują require
plików innych niż JSON, w szczególności JSON. W tej chwili nie ma metody, aby to zrobić, więc albo musisz użyć AsyncStorage, jak wspomniano w @CocoOS, albo możesz napisać mały moduł natywny, aby zrobić to, co musisz zrobić.
Następujące sposoby pobierania lokalnego pliku JSON:
Wersja ES6 :
import customData from './customData.json';
lub import customData from './customData';
Jeśli jest wewnątrz .js
pliku, a nie .json
importujesz, jak -
import { customData } from './customData';
aby uzyskać więcej wyjaśnień / zrozumienia, zapoznaj się z przykładem - pokaz na żywo