Я использую это
расширение, чтобы увидеть мой магазин 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?
Боковое примечание, мое действие возвращает выполненное обещание





В вашем вызове createReducer:
const store = createStore(rootReducer, composeWithDevTools(
applyMiddleware(thunkMiddleware, promiseMiddleware()),
));
вы не указываете исходные данные своего магазина (называемые preloadedState в документация).
Вам необходимо изменить свой код на:
const store = createStore(rootReducer, preloadedState, composeWithDevTools(
applyMiddleware(thunkMiddleware, promiseMiddleware())));
Мой ответ объясняет, почему опубликованный вами код не работает. Однако тот факт, что вы не знаете, что такое ваше предварительно загруженное состояние, говорит мне, что вы, вероятно, тоже неправильно написали свой редуктор. Вы впервые используете Redux?
Нет, я работал с Redux около 8 месяцев назад. И у меня был / есть файл с именем initialState, который состоит из пустых массивов или объектов, которые заполняются на основе действий. Я использовал Redux с React, я впервые использую его с React Native. С учетом сказанного, моя ошибка связана не с redux, а с инструментом redux dev, который не отображается в моем Chrome. Если в этом есть смысл.
На самом деле я не знаю, в каком состоянии я предварительно загружен. Я попытался импортировать свое начальное состояние (которое на данный момент является просто пустым массивом) из моего каталога редюсеров, и это дает мне эту ошибку «ExceptionsManager.js: 73 Неожиданный ключ« testData », обнаруженный в предыдущем состоянии, полученном редуктором. Ожидается, что он будет найден вместо известных ключей редуктора: "testReducer". Неожиданные ключи будут проигнорированы. "