• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

isloading을 공통변수로 사용하고 싶을때

21.01.31 21:49 작성 조회수 131

0

user가 로그인할때도 로딩 true, false하지만 post에서 글등록시에도 로딩을 true, false로 바꿔주기위해 user, post외에도 common이라는 슬라이스(? 리덕스)를 만들어주어서 common에 isLoading이라는 state를 만들어주고 싶은데요,

비동기 액션들의 pending시에 isLoading을 true로 하려면 common에 액션을 모두 임포트해서 매칭해서 isLoading을 바꿔주면 될거같은데요, fulfilled나 reject시에 isLoading false는 user 나 post에서 결과처리할 때 직접 상위 객체 안에 있는 common에 접근해서 바꿔줄 순 없나요?

뷰쓸때는 vuex에서 rootState에 접근할 수 있어서 자유자재로 넘나들었는데 리액트에서도 같은 방식으로 만들려고 하니 상위 state에 접근하는 방식을 잘 모르겠네요!!

만약 상위state에 접근할 수 없다면, common에 모든 비동기 함수의 pending, fulfilled, reject를 addCase에 다 넣고 다루어 주어야하는걸까요..?

답변 2

·

답변을 작성해보세요.

0

아 그렇구나..ㅜㅜ 갠적으로 뷰 프로젝트 경험이 더 많아서 그런지 뷰가 더 좋은거같아요. 루트스테이트에 접근해서 여러 모듈로 쪼개진 스테이트, 액션, 뮤테이트 다 접근하고 편했는데.. 그리고 리액트 최적화 잘못해서 리랜더링 계속될때 진짜 호러가 따로없어요.... ㅜㅜ 리액트 네이티브로 앱까지 연결하려고 배우고 있고 나름 재미도 있지만 여러모로 아쉽네여..!!

0

상위 스테이트에 접근은 못하고요. 커먼슬라이스 안에 펜딩/풀필드/리젝티드 엑스트라 리듀서로 연결해서 수정하셔야 합니다.