2016-07-30 8 views
1

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) : 초기 상태입니다. 범용 응용 프로그램에서 서버의 상태를 수화 시키거나 이전에 직렬화 된 사용자 세션을 복원하도록 선택적으로 지정할 수 있습니다. combineReducers로 감속기를 생성 한 경우 전달 된 키와 동일한 모양의 일반 객체 여야합니다. 그렇지 않으면 감속기가 이해할 수있는 것을 자유롭게 전달할 수 있습니다.

내가 빠진 것이 있습니까? 나는 지금 상태를 기록하고있다. 그리고 그것은 지금 일어나지 않습니다. 나는 REDUX에게 배우는이 동영상을 언급 한 다음

here. 내 매장 코드 :

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. : 나는 redux와 함께 React Router를 사용하고있다. 반응 dev 도구에서 store.getState에서 라우팅을 볼 수 있습니다.

+1

rootReducer 파일에서 var blogList를 디버깅하는 경우 정의되어 있습니까? –

+0

@ Brofessor, 팁 주셔서 감사합니다. blogList는 rootReducer에 정의되어 있지만 빈 객체 (typeof blogList === object)입니다. 그러나 rootReducer의 경우 기능입니다. 내가 잘못 내보내는 건가요? –

+0

@ Brofessor, 나는 root reducer로 직접 기능을 옮겼다. 나는 수출로 인한 오류가 있다고 믿는다. –

답변

1

필자는 오타가 있으며 blogList 파일의 마지막 줄은 module.export이 아닌 module.exports이어야한다고 생각합니다.