나는 redux 상태 관리를 이해하고 있으며 상용구 코드와 미들웨어의 어렴풋한 정글을 협상하려고 노력 중이다. 믿음을 '좋은 약'이라고 생각합니다. 그래서 나는이 초보적인 질문에 대해 나와 함께 견뎌내기를 바랍니다.redux-thunk와 calling dispatch()를 직접 사용하는 것의 차이점
나는 redux-thunk
을 사용하면 작업 작성자가 비동기 적으로 진행하고 후속 작업에서 일반 작업을 처리 할 수 있음을 알고 있습니다. 예를 들어, 내 actions.js
에 썽크 액션 제작자를 정의 할 수 있습니다 :
export function startTracking() {
return (dispatch => {
someAsyncFunction().then(result => dispatch({
type: types.SET_TRACKING,
location: result
}))
})
}
그래서 같은 반작용 구성 요소 내에서 호출 :
이onPress={() => this.props.dispatch(actions.startTracking())}
내 질문이이며, 어떤 장점은 위의 작업을 수행 코드는 단순히 비동기 콜백 내부에서 액션을 전달하는 것 이상을 제공합니까? 내 구성 요소 내에서 호출 할
import { store } from '../setupRedux'
...
export function startTracking() {
someAsyncFunction().then(result => {
store.dispatch({
type: types.SET_TRACKING,
location: result
})
})
}
onPress={() => actions.startTracking()}
또는
onPress={actions.startTracking}
내가 제 2의 예에서 일을 해요로 가져 오기를 통해 직접
store
접근에 문제가 있나요 ?
redux 작성자가이 응답을 확인하십시오. https://stackoverflow.com/questions/35411423/how-to-dispatch-a-redux-action-with-a-timeout –