빠른 검색 기능 완성
iframe
창 생성문제)
iframe
의 document의 body에 어떻게 추가할까..?
- React에서
iframe
element의 자식으로 다른 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
로 해결 했는데, 이 부분에 대해서도 좀 더 알아봐야겠다.