이들은 내 현재 액션 제작자이며 정상적으로 실행되고 평소처럼 액션을 반환합니다. 여기에서 작동하는 일부 로깅으로 테스트했습니다.
export function stateToEntry() {
return { type: types.STATE_TO_ENTRY, formState: 'entry-mode'};
}
export function stateToEdit() {
return { type: types.STATE_TO_EDIT, formState: 'edit-mode'};
}
export function stateToDelete() {
return { type: types.STATE_TO_DELETE, formState: 'delete-mode'};
}
이것은 내 행동을받지 못하는 내 현재 감속기입니다. 여기에서 테스트 한 결과 콘솔에 로그인 할 수도없는 것 같습니다.
import * as types from '../actions/actionTypes';
export default function formStateReducer(state = [], action) {
switch(action.type) {
case types.STATE_TO_ENTRY:
console.log('entry-mode');
return {formState: action.formState};
case types.STATE_TO_EDIT:
//console.log('edit-mode');
return {formState: action.formState};
case types.STATE_TO_DELETE:
//console.log('delete-mode');
return {formState: action.formState};
default:
return state;
}
}
여기에 결합 된 감속기가 있습니다. 위치 감속기는 잘 작동하지만 내 formState에 null이 표시되어 상점 내부에서 올바르게 연결됩니다. :
const rootReducer = combineReducers({
locations,
formStates
});
export default rootReducer;
내가 놓칠 수 있었던 것은 무엇입니까?
문서에서 : bindActionCreators
... 값이 액션 생성자 인 객체를 동일한 키를 가진 객체로 변환하지만 모든 액션 생성자는 디스패치 호출로 래핑되어 직접 호출 될 수 있습니다.
그래서, 당신은 그것을 잘못 사용하고 있습니다.
let foo = {
location: bindActionCreators(locationActions, dispatch),
form: bindActionCreators(formActions, dispatch)
}
// later in your code -- will dispatch that action automatically
foo.location.someActionFromLocationActionsObject()
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다