Как я могу получить доступ к локальному файлу JSON с помощью Redux для использования в моем приложении React? - PullRequest
2 голосов
/ 28 июня 2019

У меня есть приложение реагирования, использующее Redux, и для целей тестирования я создал локальный файл JSON, который находится внутри папки с именем data внутри моего приложения.

Я пытаюсь передать эти данные JSON в Redux, чтобы я мог получить к ним доступ, а затем использовать их для отображения и отображения элементов в отдельном компоненте, но я понятия не имею, как это сделать.Кто-нибудь может предоставить примеры или ресурсы о том, как этого добиться?

Ответы [ 3 ]

3 голосов
/ 28 июня 2019

Добавьте этот JSON в начальное состояние магазина.Поэтому, когда ваше приложение запускается, оно устанавливает начальное состояние из json, а затем use может использовать его в любом месте вашего приложения.

createStore(reducer,  require('your file path')
2 голосов
/ 28 июня 2019

Как сказал пользователь Sreeram в комментариях, вы можете напрямую require или import файл json, после чего у вас будет доступ к нему, как и к любому другому объекту.

Это означает, что вы можете использовать его для инициализации своего состояния в вашем редукторе.

const testData = require('./data/thejson.json');

// use testData as the default argument, which will be used if state is undefined (as it will be when the app starts 
function someReducer(state = testData , action) {
  switch (action.type) {
    // some code here.. 
  }
}
1 голос
/ 28 июня 2019

Ваши данные предназначены для разработчиков?или он будет включен в производство?
Имейте в виду размер json

Если вы используете Typescript по крайней мере до 2.9, вы можете установить: "resolJsonModule": true, flag.и затем импортируйте его:

import data from 'path/to/data.json';

Если вы используете веб-пакет, начиная с версии 2, веб-пакет включает в себя json-загрузчик

import data from 'path/to/data.json';

Вы также можете его обслуживать, я плохо помнюно есть способ обслуживать статический контент с помощью сервера веб-пакетов, который использует готовое экспресс-приложение, которое можно настроить, и затем вы можете получить его.Я надеюсь, что это помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...