나는 이것을 잠시 동안 알아 내려고 노력해 왔으며 점점 더 혼란스러워지고 있습니다.경로 변경시 Redux 상태 업데이트
나가거나 경로를 변경할 때마다 Redux 상태를 재설정/변경하고 싶습니다. 나는 모든 시간 경로가 변경 작업
history.listen(location => store.dispatch(resetManualsCategory()));
을 파견
history.listener
와
react-router-redux
을 사용하고
행동 작성자 :
export function resetManualsCategory() {
return {
type: 'RESET_MANUALS_CATEGORY'
}
}
감속기
export function manualCategories(state=[], action) {
switch (action.type) {
case 'SELECT_MANUALS_CATEGORY':
[...]
case 'RESET_MANUALS_CATEGORY':
console.log('test reducer');
return Object.assign({}, state, {
manualCategory: 'test'
})
default:
return state
}
}
나를 가장 혼란 무엇 , 페이지를 새로 고치거나 최상위 탐색에서 경로를 두 번 클릭하면 상태가 업데이트되지만 동작 및 감속기가 작동 (콘솔에 테스트 메시지를 표시)하더라도 단일 경로 변경은 redux 상태에 영향을주지 않습니다.
내가 뭘 잘못하고 있고 실제로 무슨 일이 일어나고있는거야?
은''@@ router/LOCATION_CHANGE''와 같은''LOCATION_CHANGE''입니까? – spik3s
예. 또한 '@@ router/LOCATION_CHANGE'를 사용할 수도 있지만 권장하지는 않습니다. –
방금 문제의 원인을 파악했으며이 질문과 약간 다릅니다. 어쩌면 너 도움이 될 수 있니? http://stackoverflow.com/questions/37912180/react-router-redux-takes-two-clicks-on-a-link-to-update-location-state – spik3s