React Native, Redux: магазин не найден

Я использую это

расширение, чтобы увидеть мой магазин redux. Когда я открываю свой удаленный отладчик, в консоли я подключаюсь к удаленному серверу, но мои инструменты redux говорят, что хранилище не найдено.

Ниже представлена ​​настройка моего магазина

 import React, { Component } from 'react';
    import { Provider } from 'react-redux';
    import promiseMiddleware from 'redux-promise-middleware';
    import { createStore, applyMiddleware } from 'redux';
    import { composeWithDevTools } from 'remote-redux-devtools';
    import thunkMiddleware from 'redux-thunk';
    import rootReducer from './src/Reducers/index';
    import NavigationApp from './src/components/Navigation/Navigation';


    const store = createStore(rootReducer, composeWithDevTools(
      applyMiddleware(thunkMiddleware, promiseMiddleware()),
    ));

    export default class App extends Component<{}> {
      render() {
        return (
          <Provider store = {store}>
            <NavigationApp />
          </Provider>
        );
      }
    }

package.json 
{
  "name": "App",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start",
    "test": "jest"
  },
  "dependencies": {
    "axios": "^0.17.1",
    "react": "16.0.0",
    "react-native": "^0.54.2",
    "react-native-elements": "^0.18.5",
    "react-native-vector-icons": "^4.4.2",
    "react-navigation": "^1.0.0-beta.22",
    "react-redux": "^5.0.7",
    "redux": "^3.7.2",
    "redux-promise-middleware": "^5.0.0",
    "redux-thunk": "^2.2.0",
    "remote-redux-devtools": "^0.5.12"
  },
  "devDependencies": {
    "babel-jest": "21.2.0",
    "babel-preset-react-native": "4.0.0",
    "eslint-config-rallycoding": "^3.2.0",
    "jest": "21.2.1",
    "react-test-renderer": "16.0.0"
  },
  "jest": {
    "preset": "react-native"
  }
}

Я также подписан на это

инструкции потока переполнения стека, но нет сигары. Я что-то упустил из недавнего обновления? Мне не хватает пакета, который идет вместе с настройкой React native redux?

Боковое примечание, мое действие возвращает выполненное обещание

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
3
0
1 670
1

Ответы 1

В вашем вызове createReducer:

const store = createStore(rootReducer, composeWithDevTools(
  applyMiddleware(thunkMiddleware, promiseMiddleware()),
));

вы не указываете исходные данные своего магазина (называемые preloadedState в документация).

Вам необходимо изменить свой код на:

const store = createStore(rootReducer, preloadedState, composeWithDevTools(
  applyMiddleware(thunkMiddleware, promiseMiddleware())));

На самом деле я не знаю, в каком состоянии я предварительно загружен. Я попытался импортировать свое начальное состояние (которое на данный момент является просто пустым массивом) из моего каталога редюсеров, и это дает мне эту ошибку «ExceptionsManager.js: 73 Неожиданный ключ« testData », обнаруженный в предыдущем состоянии, полученном редуктором. Ожидается, что он будет найден вместо известных ключей редуктора: "testReducer". Неожиданные ключи будут проигнорированы. "

Generaldeep 30.03.2018 08:46

Мой ответ объясняет, почему опубликованный вами код не работает. Однако тот факт, что вы не знаете, что такое ваше предварительно загруженное состояние, говорит мне, что вы, вероятно, тоже неправильно написали свой редуктор. Вы впервые используете Redux?

Ben Smith 30.03.2018 22:47

Нет, я работал с Redux около 8 месяцев назад. И у меня был / есть файл с именем initialState, который состоит из пустых массивов или объектов, которые заполняются на основе действий. Я использовал Redux с React, я впервые использую его с React Native. С учетом сказанного, моя ошибка связана не с redux, а с инструментом redux dev, который не отображается в моем Chrome. Если в этом есть смысл.

Generaldeep 31.03.2018 09:10

Другие вопросы по теме