Невозможно передать начальное состояние через createStore в Redux

Я пытаюсь передать начальное состояние в createStore, но в консоли отображается ошибка / предупреждение.

Unexpected key "blogList" found in initialState argument passed to createStore. Expected to find one of the known reducer keys instead: "routing". Unexpected keys will be ignored.

Наряду с этой ошибкой я не получаю исходные данные в состоянии хранилища. Из документов:

[initialState] (any): начальное состояние. При желании вы можете указать его для гидратации состояния с сервера в универсальных приложениях или для восстановления ранее сериализованного сеанса пользователя. Если вы создали редуктор с помощью combReducers, это должен быть простой объект той же формы, что и переданные ему ключи. В противном случае вы можете передать все, что может понять ваш редуктор.

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

Вот код моего магазина:

var Redux = require('redux');
var syncHistoryWithStore = require('react-router-redux').syncHistoryWithStore;
var browserHistory = require('react-router').browserHistory;
var rootReducer = require('../reducers/index');
//var BlogActions = require('./actions/actions.js');
var blogList = {
  "id":1,
  "heading": "Heading of blogpost : No topic suggested",
  "cardText": "Content of this blogpost is temporary and will be gathered from Server later. Also Reflux is yet to be implemented",
  "date": "16 July, 2016",
  "tags": ["general","react","firstpost"],
  "content": "sample text"
};

var defaultState = {
  blogList: blogList
};

var BlogStore = Redux.createStore( rootReducer, defaultState);
var history = syncHistoryWithStore( browserHistory, BlogStore);

module.exports =  { "store" : BlogStore, "history" : history };

Корневой редуктор:

var combineReducers = require('redux').combineReducers;
var routerReducer = require('react-router-redux').routerReducer;
var blogList = require('./blogList');
var rootReducer = combineReducers({blogList:blogList,routing:routerReducer});
module.exports = rootReducer;

Редуктор BlogList:

function blogList (state, action) {
console.log(action,state);
return state;
}

module.export =  blogList;

P.S. : Я использую React Router вместе с redux. и я вижу маршрутизацию в store.getState из инструментов реагирования.


person Anil Sharma    schedule 30.07.2016    source источник
comment
если вы отлаживаете var blogList в вашем файле rootReducer, он определяется?   -  person The Brofessor    schedule 31.07.2016
comment
@The Brofessor, Спасибо за подсказку. blogList определен в rootReducer, но это пустой объект (typeof blogList === object). Однако для rootReducer это функция. Я экспортирую это неправильно?   -  person Anil Sharma    schedule 31.07.2016
comment
@ The Brofessor, я переместил функцию напрямую с помощью корневого редуктора, и она сработала. Я считаю, что ошибка должна быть связана с экспортом.   -  person Anil Sharma    schedule 31.07.2016


Ответы (1)


Я считаю, что это опечатка, и последняя строка файла blogList должна быть module.exports, а не module.export.

person The Brofessor    schedule 31.07.2016