1

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): 初期状態。必要に応じて、ユニバーサル アプリでサーバーから状態をハイドレートしたり、以前にシリアル化されたユーザー セッションを復元したりするために指定できます。CombineReducers を使用してレデューサーを作成した場合、これは、渡されたキーと同じ形状のプレーン オブジェクトである必要があります。それ以外の場合は、レデューサーが理解できるものは何でも自由に渡すことができます。

私が欠けているものはありますか?私は今のところ状態を記録しています。そしてそれは今起こっていません。これらのビデオを参照して、ここで redux を学びました。

これが私の店舗コードです:

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;

ブログリストリデューサー:

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

module.export =  blogList;

PS : React Router を redux と共に使用しています。反応開発ツールから store.getState のルーティングを確認できます。

4

1 に答える 1

1

タイプミスで、blogList ファイルの最後の行module.exportsmodule.export.

于 2016-07-31T08:40:54.873 に答える