동일하게 실행되는데 이렇게 분리한 이유는, GraphqlSetting 페이지를 분리할 수 있다.
서비스 중심이 되는 방향
1. 퍼포먼스(성능)이 좋아야 하는 서비스
2. 큰 규모에서 확장성, 유지보수가 좋아야하는 서비스
-> 웹/앱에서 주로 사용되는 서비스
3. 안전성이 중요한 서비스
위 로직을 확장성, 유지보수를 좋게 하기 위한 프로세스
$yarn generate
를 통해 바뀐 uri에서 등록, 삭제, 수정 이후에 리페치 -> mutation 이후에 refetchQueries 했으나
mutation을 하지 않고 원할 때에 리페치할 수 있다. -> refetch
타입스크립트에서 void vs async/await
끝날 때까지 기다리고 나서 아래쪽 작업을 처리해줘야 한다 -> async/await
refetch만 하고 말거기 때문에 기다릴 필요가 없다.
onClick은 마우스로 클릭한 것이기 때문에 마우스 이벤트이고 input 태그를 onChange 했을 때는 change 이벤트가 된다.
mouseEvent이고 span 태그를 클릭했을 때이므로 event: MouseEvent<HTMLSpanElement>
event.currentTarget vs event.target
currentTarget -> 현재 타겟이므로 클릭했을시 타겟(무조건 id값이 있다)
target -> 클릭했을때만 사용하는 것이 아니다. 태그가 아닌 다른 용도로도 사용된다. (id가 있을 보장이 없다.) 이미지 업로드시 문제 발생
new Array(10)
를 통해 map으로 뿌려주기 때문에 10개씩 보여진다.{
new Array(10).fill(1).map((_,index)=>(
<span
key={index}
id={String(index+startPage)}
onClick={onClickPage}
style={{ margin : "10px"}}
>
{index+startPage}
</span>
))
}
<span onClick={onClickPrevPage}>이전페이지</span>
{new Array(10).fill(1).map(
(_,index) =>
index+startPage <= lastPage && (
<span
key={index}
id={String(index+startPage)}
onClick={onClickPage}
style={{ margin : "10px"}}
>
{index+startPage}
</span>
)
)}
<span onClick={onClickNextPage}>다음페이지</span>
자식에 있는 state를 형제 컴포넌트에게 state를 주고 싶은데 어떻게 해야할까