memo된 컴포넌트는 언제까지 유지될까?

Tags
 
  • display: none 했다가 풀었을 땐 메모된 컴포넌트를 쓰는 것이 확인됨
  • 내부에선 같은 컴포넌트와 같은 프롭을 사용하는 컴포넌트여도, 그걸 감싸고 있는 상위 컴포넌트 자체가 바뀌는 경우에는 메모된 것을 재사용하지 못한다.
    • {pressedGroupId ? ( <SelectedGroupUserList groupData={pressedGroupinfo} completeDoseUsers={completeDoseUsersFromPressedGroup} /> ) : ( <> <AllGroupUserList groupData={groupList} completeDoseUsers={completeDoseUserFromAllGroup} /> <Spacer spaceDirection='column' spacing={verticalScale(152)} /> </> )}
  • 그렇다면 root 컴포넌트는 동일한데 상태가 단순히 필터링만 되어서 렌더링 되는 경우에는, 필터링이 다시 풀려서 전체를 보여줘야 할 때 메모된 것을 사용할까? 아니면 다시 렌더링 될까?
    • 만약 다시 렌더링 된다면 display: none을 적극적으로 활용해야 할 수도 있겠다