ฉันจะจัดเก็บไฟล์ในเครื่องเช่น JSON แล้วดึงข้อมูลจากคอนโทรลเลอร์ได้อย่างไร
ฉันจะจัดเก็บไฟล์ในเครื่องเช่น JSON แล้วดึงข้อมูลจากคอนโทรลเลอร์ได้อย่างไร
คำตอบ:
เนื่องจาก React Native 0.4.3 คุณสามารถอ่านไฟล์ JSON ในเครื่องของคุณได้ดังนี้:
const customData = require('./customData.json');
จากนั้นเข้าถึง customData เหมือนออบเจ็กต์ JS ทั่วไป
react-native -v
และลองอ่านไฟล์package.json
.
ES6 / ES2015 เวอร์ชัน:
import customData from './customData.json';
customData
import myJsonFile from './foobar.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';
บางทีคุณอาจใช้AsyncStorage setItemและgetItem ... และจัดเก็บข้อมูลเป็นสตริงจากนั้นใช้ตัวแยกวิเคราะห์ json เพื่อแปลงอีกครั้งเป็น json ...
ดูปัญหา Github นี้:
https://github.com/facebook/react-native/issues/231
พวกเขาพยายามrequire
ใช้ไฟล์ที่ไม่ใช่ JSON โดยเฉพาะ JSON ตอนนี้ไม่มีวิธีการทำดังนั้นคุณต้องใช้ AsyncStorage ตามที่ @CocoOS กล่าวถึงหรือคุณอาจเขียนโมดูลเนทีฟขนาดเล็กเพื่อทำสิ่งที่คุณต้องทำ