빠른 검색 기능 완성
iframe 창 생성문제)
iframe의 document의 body에 어떻게 추가할까..?
- React에서
iframeelement의 자식으로 다른 element를 추가할 수는 있음- 이전에는 Javascript의
appendChild()로 구현
React에는appendChild()가 없는 것 같은데??- React가 Javascript를 기반으로 만들어진 거라면 비슷한 기능을 하는 메서드가 있지 않을까?
ReactDOM.createPortal() 메서드를 알게됨ReactDOM.createPortal()ReactDOM.createPortal()로 해결문제)
iframe의 document의 body에 추가된 컴포넌트는 MUI의 CSS가 적용이 안되네..?
- 문제의 원인이 뭔지 모르겠음
- 다른 document라서 그런가..?
- 원인 먼저 파악하는게 필요!
iframe 생성 로직을 수정했다!(참고자료)iframe에 로드하려는 컴포넌트에서 createPortal()을 통해 생성, iframe 태그 안에 컴포넌트 넣어도 로드 xiframe에서 createPortal()로 자식 컴포넌트를 로드, iframe 태그 안에 컴포넌트 넣으면 iframe의 body 안으로 컴포넌트 로드!이 문제만 잡고 있으면 이번주에 정한 목표를 달성하지 못할 것 같아서 일단 뒤로 미뤄두고 다음 할 거를 진행
iframe 생성 로직 수정iframe 창 열기/닫기 토글 이벤트 연결 완료row 생성검색 결과가 없습니다 보여주기CSS를 어떻하면 좋을까..?
요소들이 많아지다보니까 CSS가 제대로 적용이 안되서 컴포넌트들이 제대로 화면에 보여지고 있는지 확인하기가 어려웠다. 그래서 남은 시간에 계속해서 방법에 대해 찾아봤는데 아직 잘 모르겠다...
iframe 안의<head>에는 material-ui 스타일이 적용이 안되는데 왜 안되는지 모르겠당..
남아 있는 기능들이 많이 없어서 빠르게 구현하고 iframe에 CSS 적용하는 방법을 찾음
react-frame-component라는 라이브러리를 찾음!react-frame-component에 대해 구글링 하다가 해결 방법을 찾음!href='#id'를 넣어도 id를 가진 요소로 이동하는게 아니라 그냥 url로 이동하는 것과 동일react-router-hash-link라이브러리를 찾음 - 적용해봤으나 material-ui CSS가 적용이 안되서 포기scrollTo()로 직접 구현개발은 문제를 해결해가는 과정의 연속!💪
지금까지의 작업은 EJS로 했던 걸 React로 옮기는 과정이 대부분이어서 state, props에 익숙해지는 연습이 필요했다.
하지만 이번에는 javascript로 구현했던 거여서 쉽게 할 수 있을 줄 알았다. 빠르게 목표를 달성하고 다른 작업을 더 할 생각이었는데 예상치 못한 곳에서 오류가 발생하면서 오래 걸리게 되었다.
CSS 때문에 오래 걸리게 될 줄은 몰랐는데, iframe에 대해서도 다시 한 번 정리할 수 있는 시간이 필요하다는 걸 알게 되었다. CSS 문제는 cache, CacheProvider로 해결 했는데, 이 부분에 대해서도 좀 더 알아봐야겠다.