2017-10-21 229 views
0

我使用https://github.com/stylesuxx/generator-react-webpack-redux的發電機。發展,例外的是我在瀏覽器控制檯減速機爲空時,商店沒有有效的減速機

warning.js:10 Store does not have a valid reducer. Make sure the argument passed to combineReducers is an object whose values are reducers.

錯誤在index.js在減小文件罰款去,代碼如下陳述:

import { combineReducers } from 'redux'; 

const reducers = {}; 
const combined = combineReducers(reducers); 
module.exports = combined; 

index.js中存儲文件,代碼如下所示:

import { createStore } from 'redux'; 
import reducers from '../reducers'; 

function reduxStore(initialState) { 
    const store = createStore(reducers, initialState, 
    window.devToolsExtension && window.devToolsExtension()); 

    if (module.hot) { 
    // Enable Webpack hot module replacement for reducers 
    module.hot.accept('../reducers',() => { 
     // We need to require for hot reloading to work properly. 
     const nextReducer = require('../reducers'); // eslint-disable-line global-require 

     store.replaceReducer(nextReducer); 
    }); 
    } 

    return store; 
} 

export default reduxStore; 

我沒有在當前的開發中使用redux,但我使用了gener ator進行配置以供將來進行規劃。任何想法如何使減速器像上面的代碼const reducers = {};空沒有觸發任何警告?

回答

1

你需要的是一個有效的減速器,因爲錯誤提示。 要麼你可以試試下面的,如果你想保持樣板或

const reducers = { somename:() => {} }; 
const combined = combineReducers(reducers); 
module.exports = combined; 

,或者嘗試

module.exports =() => {}; 

這將確保返回有效的減速功能。既然你沒有使用redux,這不會是一個問題。

0

爲什麼不嘗試創建一個函數而不是空對象?

根據Redux的文件應該是一個功能:

減速機(功能):返回下一個狀態樹有還原能力,鑑於目前的狀態樹和動作來處理。 https://github.com/reactjs/redux/blob/master/docs/api/createStore.md

此外,我不知道,如果你需要使用combinereducers因爲你只能有一個。