Как я могу хранить локальные файлы, такие как JSON, и затем извлекать данные с контроллера?
Как получить данные из локального файла JSON для ответа на native?
Ответ 1
Начиная с React Native 0.4.3 вы можете прочитать свой локальный файл JSON следующим образом:
const customData = require('./customData.json');
а затем получить доступ к customData как обычный объект JS.
Ответ 2
Версия ES6/ES2015:
import customData from './customData.json';
Ответ 3
Для ES6/ES2015 вы можете импортировать напрямую, например:
// example.json
{
"name": "testing"
}
// ES6/ES2015
// app.js
import * as data from './example.json';
const word = data.name;
console.log(word); // output 'testing'
Если вы используете машинопись, вы можете объявить модуль json следующим образом:
// tying.d.ts
declare module "*.json" {
const value: any;
export default value;
}
Ответ 4
Использовать этот
import data from './customData.json';
Ответ 5
возможно, вы могли бы использовать AsyncStorage setItem и getItem... и сохраните данные как строку, затем используйте json parser для преобразования его снова в json...
Ответ 6
Взгляните на эту проблему Github:
https://github.com/facebook/react-native/issues/231
Они пытаются require
не-JSON файлы, в частности JSON. Нет никакого способа сделать это прямо сейчас, поэтому вам либо нужно использовать AsyncStorage, как упоминалось в @CocoOS, либо вы можете написать небольшой собственный модуль, чтобы сделать то, что вам нужно сделать.