Slackbot
04/10/2020, 9:06 AMHyeseong Kim
04/10/2020, 9:22 AMHyeseong Kim
04/10/2020, 9:22 AMHyeseong Kim
04/10/2020, 9:23 AMHyeseong Kim
04/10/2020, 9:25 AMTony Won
ojy6042
04/10/2020, 1:39 PMHyeseong Kim
04/10/2020, 1:42 PM이 때 유저가 리스트에서 어떤 걸 선택할 때마다 선택된 object를 갖고 여러 컴포넌트들이 render 해야한다고 할 때, 유저가 id 3 인 걸 선택했다, id 9 인걸 선택했다, 이렇게 선택된 게 무엇인지 어떻게 관리하나요?이거 케이스 조금만 더 구체적이면 답변 가능할 것 같아요
Hyeseong Kim
04/10/2020, 1:44 PMHyeseong Kim
04/10/2020, 1:45 PMHyeseong Kim
04/10/2020, 1:46 PMHyeseong Kim
04/10/2020, 1:47 PMHyeseong Kim
04/10/2020, 1:47 PMojy6042
04/10/2020, 2:46 PMHyeseong Kim
04/10/2020, 2:59 PMHyeseong Kim
04/10/2020, 2:59 PMHyeseong Kim
04/10/2020, 3:00 PMHyeseong Kim
04/10/2020, 3:01 PMHyeseong Kim
04/10/2020, 3:01 PMHyeseong Kim
04/10/2020, 3:03 PM예를 들어 컨텍스트나 mobx 에다가 선택된 맛집 object 를 통째로 넣고 있으면 refetch 될 때 맛집 정보가 바꼇더라도 컨텍스트나 mobx 는 그걸 모르니까 re-render 를 위해 object 를 컨텍스트나 mobx 에 다시 갈아끼워 넣어야 할 것 같은데, 컨텍스트나 mobx 에서 선택된 맛집 id 만 들고있고 각 컴포넌트가 apollo-client-cache 에서 id 로 맛집 object 를 들고와서 랜더하고 있다면 refetch 시에도 알아서 re-render 가 될 것 같습니다.변경은 잘 감지합니다. apollo client api 로 가져온 슬라이스는 전부 불변객체이라 내부 모양이 바뀌면 참조가 바뀌어요
Hyeseong Kim
04/10/2020, 3:04 PMHyeseong Kim
04/10/2020, 3:06 PMpollo-client 랑 mobx 랑 두 곳에서 상태관리를 하고 렌더링을 observe 하고 있는 게 깔끔하지 않은 느낌도 들어서 apollo-client 로 통일해야겠다는 생각도 들구요.장기적으로 코드 뿐만 아니라 양쪽 동기화를 사용자 코드로 하는 것이기 때문에 일관성까지 깨먹을 위험이 있습니다. 역할이 겹쳐서요. 같이 쓰려면 역할을 잘 나누어 격리해야 하고, 아니라면 한쪽으로 밀어버리시는 걸 추천드려요
ojy6042
04/10/2020, 3:23 PM