React
22.10.20 React 2일차
함형우
2022. 10. 20. 17:49
728x90
// Component
div들의 묶음
function Modal() {
return (
<div className="hello-modal">
<p> 제목 </p>
<h3> 내용 </h3>
<p> 상세내용 </p>
</div>
)
}
/* 사용법 */
<Modal></Modal>
/* == */
<div className="hello-modal">
<p> 제목 </p>
<h3> 내용 </h3>
<p> 상세내용 </p>
</div>
/* 컴포넌트를 쓰기 좋은 상황
반복적인 html 코드를 축약할 때 사용
거대한 페이지 자체를 축약할 때 사용
자주 변경되는 UI들을 컴포넌트로 지정하면 성능 상 좋음
/* 단점
state 가져다 쓸때 문제가 생김 ( 다른 함수에 포함되기 때문 )
// div
의미없는 div 줄이기, react에서
<>
</>
==
<div>
</div>
의미없이 단순히 묶기위한 div태그 사용대신에 리액트에선 <> , </> 태그도 사용할 수 있다.
// 반복문
{
modal == true ? <Modal></Modal> : null
}
react는 js를 쓰는것이 아니기 때문에, if문을 바로 올릴 수 없음.
삼항연산자로 대체하여 사용하거나, 함수로 지정하여 사용함.
<div className="main-header">
<button onClick={modaltrue}> 글 생성 </button>
</div>
/* 함수 */
function modaltrue() {
return setMdal(true);
}
react에서의 html코드 변환은, 코드 자체를 건드리는것이 아니라 선언해준 State만 건드리기 때문에
직접적인 값 변환이 아님.
js에서 쓰던 방식과 다르기 때문에 이점을 유의
// Map
html 축약, (== for문 대용)
모든 array자료형 뒤에 붙일 수 있음 콜백함수와 같이 사용
array 자료 갯수 만큼 함수 내의 코드를 실행해줌
[1,2,3].map(function(a) {
console.log(1)
})
retrun에 자료를 적으면 array에 저장시켜줌
{
[1,2,3].map(function(){
return <div> Hi </div>
})
}
let [a,b] = useState(['남자 코트 추천','도쿄 우동 맛집','서울 라면 맛집']);
{
a.map(function(a){ // state에 저장된 데이터 배열도 사용가능
return (
<div className="content-list">
<h4>{a}</h4>
<p>4월 06일 발행</p>
</div>
)
})
}
728x90