농's 개발 공부 이야기
210215 본문
긴 연휴가 끝났다!! 아쉽지만ㅠㅠ 이제 또 열심히 일기도 적고 일도 해야지..!
연휴 전에 마지막으로 작업하고 있던 부분을 이어서 했다. 저번 주에 useEffect가 생각하는 대로 동작하지 않아서 고민하다가 끝냈었다. Protable을 렌더링하고 나서 옵션을 선택해서 modal을 띄우면 이상하게 한 column의 값들이 계속 사라지는 문제가 있었다. 그 때 분석하기로는 로딩과 렌더링의 시차라고 생각했었는데 이를 어떻게 풀어야 할지 고민하고 있었다. 그러면서 useEffect의 정확한 동작 원리를 찾아봤다. useEffect는 렌더링 이후에 동작하기 때문에 내 문제가 발생했던 것이었다. 그래서 렌더링 전에 함수를 실행할 수 있는 방법이 없을까 찾아보다가 lifecycle에 대해서도 드디어 공부하게 되었다(useEffect와 함께 후에 정리 예정). 일단 렌더링 전에 어떤 작업을 하려면 생성자를 이용해야 하는데, 내 코드에서는 class를 사용하는 것이 아니라 패스.. 다른 모든 작업들은 렌더링 후에 일어난다고 해서 결국 다시 useEffect로 돌아오게 되었다. 그래서 useEffect를 순서를 생각하면서 잘 이용해서 하긴 했는데 전역변수가 선언되어 있는 구조가 별로라서 도움을 받게 되었다. state 변수를 또 사용하고 싶지 않았지만 어쩔 수 없이 사용해야 될 거 같다.
예전에 작업 했던 페이지 중에서 기능을 하나 빠뜨린 게 있어서 빠르게 기능을 추가하고 다음 페이지 작업을 시작하기로 했다. 빠르게 기능을 추가할 수 있을 줄 알았으나 또 CORS 문제가 발생했다... CORS는 호스트마다 터지는 구나..ㅠㅠ 그래서 이 부분도 도움을 받아서 백엔드를 간단하게 수정하고 작동원리에 대한 설명을 들었는데(include mode일 때는 wild card를 사용 못한다) 사실 정확하게 이해는 안 되어서 나중에 찾아보기로 한다.
드디어 한 페이지만 남았다. 이 부분은 내가 생각하기에는 어려울 거 같다. 테이블도 여러 테이블을 많이 접근해야 되고 처음 보는 transfer 기능도 사용해야 된다. 그래도 ant-design에서 transfer를 깔끔하게 지원해 주는 거 같아서 다행이다..