728x90
3가지 step을 거쳐 동적인 UI를 만드는 방법을 알아보자.
- 동적인 UI -> 모달, 탭, 툴팁, 햄버거 메뉴, 경고문 등등...
1. html, css로 미리 디자인 완성
- 앞선 포스팅에서 미리 만들어둔 Modal 사용
2. UI의 현재 상태를 state로 저장
- Modal의 현재 상태를 state로 저장해주자.
- state 내부에 현재 상태 보여주기
- 0과 1, true와 false 등 형식은 상관 없음
- 변경함수는 set으로 시작하는게 관습
let [postModal, setPostModal] = useState('close');
3. state에 따라 UI가 어떻게 보일지 작성
- 현재 상태에 따라 어떻게 보여줄지 작성
- 중괄호를 작성 후 조건문 사용
- -> 내부에 if 문을 사용하면 안 먹힌다
- why?
- js가 아닌 html 이기 때문
- 따라서, 삼항 연산자 사용
- 우리가 원하는 것은 state의 값에 따라 보여주기
{
postModal == true ? <Modal/> : ''
}
제목 누르면 Modal 창 띄워주기
- onClick 이용해준다.
- 또한, state 변경 함수를 사용해야 하는 것 기억!!!!
<div className="postList">
<h4 onClick={()=> { setPostModal(true) }}>{ postName[2] }</h4>
<p>01 24 테스트</p>
</div>
반대로 클릭시 닫아주기
- 위 코드에서 true 만 !modal로 변경해준다면 클릭시 반대 행위가 일어난다!!
<div className="postList">
<h4 onClick={()=> { setPostModal(!postModal) }}>{ postName[2] }</h4>
<p>01 24 테스트</p>
</div>
다른 동적 UI들은 혼자 해보기!!
728x90
'Front-end > React' 카테고리의 다른 글
[React] Map (0) | 2023.01.24 |
---|---|
[React] Component (0) | 2023.01.24 |
[React] React 기초 문법 - state (0) | 2023.01.24 |
[React] 레이아웃 만들 때 쓰는 JSX 문법 (0) | 2023.01.24 |
[React] React? (0) | 2023.01.24 |