Redux 저장소에 올바른 환원기가 없습니다.
이 에러에 관한 정보를 찾을 수 없었습니다.
"스토어에는 유효한 리덕터가 없습니다.combineReducers에 전달된 인수가 reducers 값이 되는 개체인지 확인하십시오."
마이 리듀서
export default function FriendListReducer(state = {friends : []}, action) {
switch (action.type) {
case 'ADD_FRIEND':
return [
{ friends : action.payload.friend }, ...state.friends
]
default:
return state;
}
return state;
}
결합기
import { combineReducers } from 'redux';
import { FriendListReducer } from './FriendListReducer';
const rootReducer = combineReducers({
friends: FriendListReducer
});
export default rootReducer;
내 스토어 구성
import { applyMiddleware, createStore } from 'redux';
import thunkMiddleware from 'redux-thunk';
import createLogger from 'redux-logger';
import rootReducer from '../reducers/reducers';
export default function configureStore(initialState = { friends: [] }) {
const logger = createLogger({
collapsed: true,
predicate: () =>
process.env.NODE_ENV === `development`, // eslint-disable-line no-unused-vars
});
const middleware = applyMiddleware(thunkMiddleware, logger);
const store = middleware(createStore)(rootReducer, initialState);
if (module.hot) {
// Enable Webpack hot module replacement for reducers
module.hot.accept('../reducers/reducers', () => {
const nextRootReducer = require('../reducers/reducers').default;
store.replaceReducer(nextRootReducer);
});
}
return store;
}
당신의.import
문장이 올바르지 않습니다.다음 중 하나를 사용합니다.import { Foo } from 'bar'
와 함께export Foo
또는 를 사용합니다.import Foo from 'bar'
를 사용하여 내보내는 경우export default Foo
.
즉, 다음 중 하나를 변경합니다.export default function FriendListReducer
로.export function FriendListReducer
또는 import 스테이트먼트를 변경합니다.import { FriendListReducer }
로.import FriendListReducer
.
개체가 비어 있는 경우.
export default combineReducers({
})
이 에러는 표시됩니다.
../computers/computers? 이상한 이름이네요.
어쨌든../reducers/reducers는 reducers를 반환하지 않는 것 같습니다.reducers가 디렉토리인 경우 index.js를 내부에 삽입하고 각 reducer를 Import하여 루트 reducer를 만듭니다.
import FriendListReducer from "./FriendListReducer"
const rootReducer = combineReducers({
friendList : FriendListReducer
})
export default rootReducer
중요!! 당신은 국가를 갖게 될 것이다.자신의 주(州)에 friend list.
도움이 되었으면 좋겠다
store.displaces를 설정합니다.
거짓의
- ".charactersSlice.js"에서 {charactersSlice} Import;
진실의 {}을(를)
- ".charactersSlice.js"에서 charactersSlice를 Import한다.
최상위 리덕터 함수가 어레이를 기본값으로 사용하고 있는 것 같습니다.Redx는 상태 맨 위가 어레이가 아닌 오브젝트일 것으로 예상하고 있습니다.어레이를 그 오브젝트의 특정 키에 배치해 보겠습니다.{ friendList : [] }
.
상술한 방법으로
import { FriendListReducer } from './FriendListReducer';
const rootReducer = combineReducers({
friends: FriendListReducer
});
export default rootReducer;
대신import { FriendListReducer } from './FriendListReducer';
그냥 말하다import FriendListReducer from './FriendListReducer';
부터FriendListReducer
와 함께 내보냈습니다.export default FriendListReducer
가 아니라export const FriendListReducer
Please check your combine reducer file It's empty......
you have forgot bind reducer here
import {combineReducers, createStore} from 'redux'
import listDataReducer from '../reducers/ListDataReducer'
const rootReducer = combineReducers({
listDataReducer, // Please add your reducer here
});
export default rootReducer;
나도 그 문제에 직면했다.내가 한 일은 다음과 같습니다.
combineReducers(productReducer, cartReducer)
나는 했다:
combineReducers({ productReducer, cartReducer })
그리고 그것은 성공하였다.스토어에 유효한 오브젝트가 필요합니다.
언급URL : https://stackoverflow.com/questions/36407937/redux-store-does-not-have-a-valid-reducer
'sourcecode' 카테고리의 다른 글
테두리 반지름을 1개의 코너에만 사용하는 방법(리액티브) (0) | 2023.02.11 |
---|---|
워드프레스 인증 + 난스 + Ajax + 템플리트 없음 - 쿠키 난스가 잘못되었습니다. (0) | 2023.02.11 |
각도 2 베타17: 속성 '맵'이 '관측 가능' 유형에 없습니다. (0) | 2023.02.11 |
문서 본문 스크롤을 비활성화하려면 어떻게 해야 합니까? (0) | 2023.02.11 |
각도 설정 방법JS 출력 이스케이프 HTML (0) | 2023.02.11 |