2016-11-10 2 views
2

Я начинаю разрабатывать приложение, которое будет делать вызовы API, которые потребуют включения JWT, который я планирую хранить в хранилище Redux.Доступ к хранилищу в приложении Redux и React Native

Как правило, вы можете получить доступ к хранилищу Redux путем сопоставления определенной части хранилища с состоянием компонента с mapStateToProps() и connect(), однако я бы хотел получить доступ к хранилищу Redux в файле, который не будет являться компонентом React/container - только чистый файл js, который будет обрабатывать вызовы API.

Возможно ли это?

ответ

1

Вы можете использовать функцию getState() магазина, которую вернули createStore. Вы можете использовать это внутри функции, которая извлекает необходимые данные из состояния.

const myImportantData =() => store.getState().my.deep.data; 

В приведенной выше версии используется магазин непосредственно, как в глобальной переменной. Это предотвращает использование нескольких хранилищ в вашем процессе. Обычно это то, что вы хотите, но это не так, если вы работаете на сервере. Тем не менее, на сервере вам вряд ли понадобится доступ JWT.

Если вам нужно поменять магазины, однако, вы можете передать его в качестве параметра или закрыть над store локальными переменным:

const getDataGrabber = store =>() => store.getState().my.deep.data; 
3

Да, это возможно.

Redux is каркас агностик, хотя это было сделано с учетом реакции.

Методы mapStateToProps() и connect() не являются частью основной библиотеки Redux, а библиотеки-помощника «React-Redux», которые предоставляют привязки специально для использования Redux в React.

Стоит отметить серию Дэн Абрамова Getting started with Redux, чтобы понять принцип работы кишок Редукса.

Пример из которых являются Video 6 и Video 7 где он обсуждает магазин Redux и описывает три метода, которые делают его:

store.getState // gets the current application state 

store.dispatch // changes the current application state by dispatching an action 

store.subscribe // suscribes to changes and re-renders the app using the 
       // current state 

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

Смежные вопросы