1. UI 만드는 법
- UI와 관련된 중요 정보들을 state로 저장해놓고, state에 따라서 UI를 수정
2. 버튼 누를 때마다 각각 다른 모달창 출력
- 부모의 state 사용을 위해 props 신고해야 함
function App() {
let [누른제목, 누른제목변경] = useState(0);
return (
<div className="App">
<button onClick={ ()=>{ 누른제목변경(0)} }>버튼1</button>
<button onClick={ ()=>{ 누른제목변경(1)} }>버튼2</button>
<button onClick={ ()=>{ 누른제목변경(2)} }>버튼3</button>
<button onClick={ ()=>{ modal변경(!modal) } }> 열고 닫기 </button>
{
modal === true
? <Modal 글제목={글제목} 누른제목={누른제목}/>
: null
}
</div>
);
}
function Modal(props){
return (
<div className="modal">
<h2>{props.글제목[props.누른제목]}</h2>
<p>날짜</p>
<p>상세내용</p>
</div>
)
}
3. <h3> 글제목 누르면 state 변경
- index를 하드코딩하지 말고 반복문돌 때마다 차례로 0,1,2가 되는 변수 사용
- map 반복문 쓸 때, 2번째 파라미터 i를 뒤에 추가 → 0,1,2... 하나씩 정수 증가하는 변수
function App (){
return (
<div>
...
{ 글제목.map(function(a, i){
return (
<div className="list">
<h3 onClick={ ()=>{ 누른제목변경(i) } }>{ a } <span>👍</span> </h3>
<p>2월 18일 발행</p>
<hr />
</div>
}) }
</div>
)
}
[ 참고 ]
https://online.codingapple.com/course/react-basic/
'React > 개념' 카테고리의 다른 글
[React] CH09. props (0) | 2021.09.10 |
---|---|
[React] CH08. 리액트 환경에서의 반복: map(), for (0) | 2021.09.10 |
[React] CH07. 클릭하면 동작하는 UI(모달창) 만드는 법 (0) | 2021.09.09 |
[React] CH06. Component : 많은 div들을 한 단어로 줄이는 방법 (0) | 2021.09.09 |
[React] CH05. Array, Object state 데이터 수정 방법 (0) | 2021.09.09 |
댓글