Как хранить и импортировать статические файлы в React Native? - PullRequest
1 голос
/ 30 марта 2019

Я хотел бы хранить статические файлы * .txt, * .svg и даже * .js в проекте React Native (чистый, без каких-либо Экспо и других упаковщиков, веб-пакетов, используя только Babel) в папке assets (или другой обычно предпочтительный путь).Затем я хотел бы импортировать их в App.js в виде строк.По этой теме так много противоречивой информации.Как мне правильно сделать это в новом приложении?

1 Ответ

0 голосов
/ 30 марта 2019

Если у вас есть файл json, например:

const data = {
  key1: 'value1',
  key2: 'value2',
};

export default data;

Единственный способ получить доступ к вашим данным - это:

import data from '../your/relative/path/to/data';

Если вы хотите импортировать определенный ключ в этот файл,тогда ваш файл json будет выглядеть примерно так:

export const key1 = 'value1';
export const key2 = 'value2';

const data = {
    key1,
    key2,
};

export default data;

Теперь у вас будет возможность сделать это:

import { key1 } from '../your/relative/path/to/data';

ИЛИ

import data from '../your/relative/path/to/data';

Я предлагаю для текстовых файлов хранить их в папке constants и создавать соответствующий .js файл для каждой категории:

файл constants.js:

export const CONST_KEY_1 = 'some value';
export const CONST_KEY_2 = 'some other value';
export default {
    CONST_KEY_1,
    CONST_KEY_2
};

А для файла SVG:

Быстрый подход: хранить file_uri каждого файла в паре ключ-значение так же, как мы это делали в файле constants.js

Лучший подход: хранить svg path этих файлов svg в той же форме, что мы делали в файле constants.js ... и визуализировать эти файлы с помощью модуля response-native-svg npm.

...