我尝试将Redux添加到React Native应用程序并收到以下错误:
期望减速器成为一种功能。 createStore
我已经调试了4天了,我看不出与我的代码有什么不同,而不是我到目前为止看过的任何教程或stackoverflow问题。任何帮助都会非常感激,因为我完全陷入困境。
存储\ index.js
import { createStore } from 'redux';
import rootReducer from '../redux/reducers/index';
import thunk from 'redux-thunk';
let store = createStore(
rootReducer,
applyMiddleware(thunk)
);
export default store;
终极版\减速器\ index.js
import { combineReducers } from 'redux';
import users_reducer from './users_reducer';
const rootReducer = combineReducers({
users_reducer
});
export default rootReducer;
终极版\减速器\ users_reducer.js
import * as types from '../actions/users_action';
const defaultState = {
isAuthenticated: false,
isFetchingIsRegistered: false,
isRegistered: false,
email: '',
firstname: '',
lastname: '',
imageUrl: '',
defaultSport: 0,
sports: [],
authenticationToken: '',
refreshToken: ''
}
export default function reducer(state = defaultState, action) {
switch (action.type) {
case 'REGISTERUSER':
return Object.assign({}, state, {
isRegistered: true,
email: action.email,
firstname: action.firstname,
lastname: action.lastname,
imageUrl: action.imageUrl,
authenticationToken: action.authenticationToken,
refreshToken: action.refreshToken
});
case 'AUTHENTICATUSER':
return Object.assign({}, state, {
isAuthenticated: action.isAuthenticated
});
case 'REQUEST_ISREGISTERED':
return Object.assign({}, state, {
isFetchingIsRegistered: true
});
case 'RECEIVE_ISREGISTERED':
return Object.assign({}, state, {
isFetchingIsRegistered: false,
isRegistered: true
});
case types.ISREGISTERED_SUCCESS:
return action.isRegistered
default:
return state;
}
}
答案 0 :(得分:0)
根据您的store\index.js
,您似乎忘了从applyMiddleware
导入redux
:
import { createStore, applyMiddleware } from 'redux';
import rootReducer from '../redux/reducers/index';
import thunk from 'redux-thunk';
let store = createStore(
rootReducer,
applyMiddleware(thunk)
);
export default store;