모든 돌아 오는-썽크 미들웨어의 포인트를 얻을 수 없습니다 :는
내가 돌아 오는, 꽤 새로운 오전 나는 http://redux.js.org/docs/advanced/AsyncActions.html
가 썽크라는 개념이 비동기 작업에 대한 튜토리얼을 따라 할 때, 내가 할 우리가 왜 비동기 액션을 수행해야하는지에 대한 아이디어를 얻지 못했습니다. 왜 단순히 init 시그널을 보내고, 데이터를 가져오고, 데이터를 가져 오는 약속에서 finish 시그널을 전달할 수 없습니까?
function fetchDataAction(dispatch){
dispatch({
type: "START"
})
fetch("DATA_URL")
.then(function(res){return res.json();})
.then(function(json){
dispatch({
type: "SUCCESS",
data: json
})
})
}
감사
당신은 질문에 뱀을 꽤 묘사했습니다. 데이터의 페치는 비동기 적으로 발생하므로 디스패치는 응답을 받으면 트리거 될 수 있습니다. –
@MarioTacke 감사합니다. 그래서 썽크는 제가 여기에 넣은 것을하기위한 멋진 말입니다. 대부분의 작업에서 데이터를 가져 오는 것만으로도 쓰레기가 필요하지 않습니다. – Kuan
썽크는 멋진 단어 이상입니다. redux가 작동하는 방식은 모든 작업이 감속기가 즉시 사용할 수있는 동작을 반환해야한다는 것을 이해합니다. 비동기 작업은 나중에 데이터를 반환하기 때문에 (읽기 : 즉시 사용하지 않음) 데이터를 받으면 특정 작업을 실행하기 위해 애비뉴를 열어야합니다. 이를 위해 많은 프로젝트에서'redux-thunk' 미들웨어를 사용합니다. –