리액트는 페이지 단위가 아닌 컴포넌트 단위로 개발
만약 자식 컴포넌트에서 부모 컴포넌트의 데이터를 바꿔야할 상황이 온다면?
const UserAuthForm = () => {
const [id, setId] = useState('');
const [pw, setPw] = useState('');
const onHandleSubmit
return (
<>
<InputWithLabel label="사용자명" value={id} setValue={setId} />
<InputWithLabel label="비밀번호" value={pw} setValue={setPw} />
<button onClick={onHandleSubmit}>submit</button>
</>
)
}
const InputWithLabel = ({label, value, setValue}) => {
return (
<>
<label>{label}</label>
<input value={value} onChange={(e) => setValue(e.target.value)} />
</>
)
}
함수 내에서 어떤 구현이 함수 외부에 영향을 끼치는 경우
useEffect(() => {
// ...
}, [])
데이터 요청 시 응답이 느릴수 있기에 데이터가 완전히 도착할 때까지 띄우는 로딩화면을 의미