Open utterances-bot opened 4 years ago
asyncUtils.js 에서 keepData 는 필요가 없는것 같습니다.
아무래도 modules/posts 에서 true로 호출하는데 구지 keepData를 쓸필요가 없는것 같습니다.
export const handleAsyncActions = (type, key) => {
const [SUCCESS, ERROR] = [${type}_SUCCESS
, ${type}_ERROR
];
return (state, action) => {
switch (action.type) {
case type:
return {
...state,
[key]: reducerUtils.loading(keepData ? state[key].data : null)
};
...............
여기서 [key]: reducerUtils.loading(keepData ? state[key].data : null) 을
[key]: reducerUtils.loading(state[key].data) 로 처리해도 괜잖을거 같은데요
그리고 또 handleAsyncActionsById 에서도 loading 시 이렇게 처리 하셨는데 keepData ? state[key][id] && state[key][id].data : null 이것을
state[key][id] && state[key][id].data 이것으로 처리하여도 괜 잖을거 같습니다. 그래서 modules/posts 쪽도 true 파라미터를 없애야죠
제의견에 댓글 주시면 감사하겠습니다.
@jinsugoda 위 posts 예제만을 보면 데이터를 재로딩 하지 않으려는 문제 해결을 위해서 말씀하신대로 작성해도 해결됩니다. 다만 작성하신 코드와 기능적으로 완전히 같지는 않습니다. keepData 가 false 일 때 기존의 데이터가 있어도 null 처리해주는 부분은 작성하신대로는 구현이 불가합니다.
깔끔한 설명으로 정리해주셔서 정말 감사합니다. 큰 도움이 되었습니다!!
6. API 재로딩 문제 해결하기 · GitBook
https://react.vlpt.us/redux-middleware/06-fix-reloading.html