reactx 코드를 단순화하기 위해 redux-actions를 사용하고 싶지만 질문이 있습니다.redux-actions를 통해 REQUEST/START 작업을 표현하는 방법은 무엇입니까?
원격에서 일부 주제를 가져 오는 "로드"동작이 있다고합니다. 코드는 다음과 같을 것입니다 :
const load = createActions('LOAD');
export function fetch() {
return (dispatch, getState) => {
dispatch(fetchTopicsRequest()); // <- here is my question.
return network
.request('/topics?' + qs.stringify(getState().topics.filter.options))
.then(network.handleResponse)
.then(result => dispatch(load(result))) // <- here I got the topics in the payload
.catch(error => dispatch(load(error))); // <- here I got the errors in the payload, in the reducer I check on the "error" field to see if the request successed.
};
}
결과가 좋고 오류가 발생하여 한 번의 조치로 발송하는 것이 좋습니다. 그러나 동일한 작업으로 "요청 중"상태를 표현하는 방법은 무엇입니까? 위의 코드에서 알지 못했지만 다른 액션 "fetchTopicsRequest()"를 만들어야합니다. 이렇게하면 전체 코드가 이상하게 보입니다.
초기 불만에서 "상태"필드가있는 것으로 나타났습니다. 그런 경우에 유용 할 수 있습니다. 어디로 갔니? 아니면 그냥 더 좋은 아이디어를 놓친거야?
감사
아, 네, 당신의 권리를. 나는 그것을 더 수정할 수있다 :'load (result)'와'load (error)'또한 액션 생성자이고, 실제 액션은 실제 객체가 실제로 전달되었다는 것이다. 내가 원하는 것은 동작의 상태를 나타내는 'error' 필드가 있지만'보류 중 '상태를 표현할 방법이 없다는 것입니다. 그러한 상태를 알아야 할 필요가 있다면 그것을 표현하는 가장 좋은 방법은 무엇입니까? –
이러한 경우를 처리하는 가장 좋은 방법은 작업 및 축소 기의 조합을 사용하는 것입니다. 따라서''FETCHING_TOPICS'' 액션을 디스패치 할 때 감속기에서''''''''로 표시하고'''result''를 보내면됩니다 '또는''error''' 액션을 사용하면 감속기에서''''''''''''로'''''false''를 변경할 수 있습니다. 좀 더 자세한 답변을 업데이트하겠습니다. –
죄송합니다, 친구. 나는 내가 '희생자의 행동'에 대해 말하고 있다는 것을 분명히하지 않았다고 생각한다. 상용구 코드를 줄이기위한 라이브러리. 나는 3 행동 패턴을 안다, 나는 단지 코드베이스를 단순화하기 위해 redux-actions를 사용하기를 바란다. –