[Day 47] React Exercise
리액트 실습
환경변수 설정
CRA를 사용하는 앱에서 환경변수이름은 앞에 REACT_APP
을 붙여야만 인식한다.
Presentational Component
PC에서 받는 데이터는 서버에서 보내주는 데이터에 대한 의존성이 없어야 한다.
PC의 사용법은 가장 간단하게 유지하는 것이 좋다.
render() {
const { products, loading } = this.state;
// products를 받아서 해당 데이터 객체의 key값을 원하는 형태로 바꿔준다.
const productsList = products.map(p => ({
id: p.id,
title: p.title,
imgURL: p.mainImgUrl,
}));
return <ProductListView products={productsList} loading={loading} />;
}
UI에서 화면만 바꿔주기 위한 상태들 (멀리 퍼져나가지 않는 상태들)은 PC에 둬도 괜찮다.
Select Input
리액트에서 select 요소의 첫번째것이 선택되어 있는 PlaceHolder를 만들기 위해서는 selected
속성을 주지말고 value
나 defaultValue
를 사용하는 것이 좋다.
- option의 value를 빈 문자열로 넣고, 초기 상태도 빈 문자열로 맞춰준다.
리액트에서 input, select, textarea 요소의 value에 null을 넣으면 제어되지 않는 컴포넌트로 작동하기 때문에, 제어되는 컴포넌트로 쓸려면 value에 null이 들어가지 않게 해줘야 한다.
댓글남기기