如何存储 JSON 等本地文件,然后从控制器获取数据?
7 回答
从 React Native 0.4.3 开始,您可以像这样读取本地 JSON 文件:
const customData = require('./customData.json');
然后像普通的 JS 对象一样访问 customData。
ES6/ES2015 版本:
import customData from './customData.json';
对于 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'
如果你使用 typescript,你可以像这样声明 json 模块:
// tying.d.ts
declare module "*.json" {
const value: any;
export default value;
}
用这个
import data from './customData.json';
获取本地 JSON 文件的以下方法 -
ES6版本:
import customData from './customData.json';
或者import customData from './customData';
如果它在.js
文件内部而不是.json
像这样导入 -
import { customData } from './customData';
有关更多说明/理解,请参阅示例 -现场工作演示
也许您可以使用AsyncStorage setItem和getItem ...并将数据存储为字符串,然后使用json 解析器 将其再次转换为 json ...
看看这个 Github 问题:
https://github.com/facebook/react-native/issues/231
他们正在尝试require
非 JSON 文件,尤其是 JSON。现在没有方法可以做到这一点,所以你要么必须使用 @CocoOS 提到的 AsyncStorage,要么你可以编写一个小的原生模块来做你需要做的事情。