이 질문은 이미 여러 번 물어 왔지만, 나는 실제로 내가 찾은 답을 이해하지 못했습니다. React/Redux를 사용하여 비동기 데이터를 express로 초기 상태로 가져 오려고합니다. 내가 d3에 익숙해 졌기 때문에 "d3.json"을 사용하는 것이 나의 선택 이었지만 ... 더 나은 것이 있다면 다른 것을 사용하게되어 기쁩니다. 동일한 주제에 대한 이전 답변에서 나는 다음과 같은 코드를 추가합니다Async Initial 상태에 "redux-thunk"를 어떻게 사용해야합니까? (react/redux)
// redux action using a dispatcher (think middleware)
export function cool(url) {
return function(dispatch) {
return d3.json(url, response => {
dispatch(setData(response))
}
}
}
// redux action
export function setData(data) {
return {
type: 'DATA_CHART_ALL',
data
}
}
const authorDataReducer = (state = {}, action) => {
switch (action.type) {
case 'DATA_CHART_ALL':
return action.data
case 'DATA_CHART_FILTER':
return action.data
default:
return state;
}
};
export authorDataReducer;
내가 처음 그것을 통지하지 않았다,하지만 나는 최근 이해하는 바로는, 위의 코드는 더 많거나 적은 redux-thunk
패턴을 따르고있다. .. 그래서 거기에서 redux-thunk
을 적용하려고했지만 아무 것도 만들 수 없습니다.
제 질문이 확실한 지 잘 모르겠지만이 모든 것을 밝게하는 데 도움이 될 것입니다.
감사합니다.
'connect'에'{fetchTodos : fetchTodos}'를 추가 할 때'finalMergeProps is not function'이라는 오류가 발생했습니다. –
fetchTodos는 가져 오는 작업이어야합니다. 연결에서'{fetchTodos : fetchTodos}'는 액션을 소품에 매핑하는 방법 일 뿐이므로 구성 요소에'this.props.fetchTodos'처럼 호출 할 수 있습니다. –
예. 가져 왔습니다. 내 감속기를 가지고 무엇인가해야합니까? 약속 할 때 무슨 뜻이야? 다시 한 번 감사드립니다! –