useState
- 정의
- 상태 값 관리
- 예제
import React, {useState} from 'react';
const Info = () => {
const [name, setName] = useState('');
const [nickname, setNickname] = useState('');
const onChangeName = e => {
setName(e.target.value);
};
const onChangeNickname = e => {
setNickname(e.target.value);
};
return(
<div>
<div>
<input value = {name} onChange = {onChangeName}/>
<input value = {nickname} onChange = {onChangeNickname}/>
</div>
<div>
<div>
이름 : {name}
</div>
<div>
닉네임 : {nickname}
</div>
</div>
</div>
);
};
export default Info;
- 이름, 닉네임 받는 코드
useEffect
- 정의
- 리엑트 컴포넌트가 렌더링될 때마다 특정 작업을 수행하도록 설정할 수 있는 Hook
- componentDidMount와 componentDidUpdate를 합친 상태와 유사
- componentDidMount : 컴포넌트가 웹 브라우저 상에서 나타난 후, 호출하는 메소드
- componentDidUpdate : 컴포넌트의 업데이트 작업이 끝난 후 호출하는 메소드
- 예제
import React, {useState, useEffect} from 'react';
const Info = () => {
const [name, setName] = useState('');
const [nickname, setNickname] = useState('');
useEffect(() => {
console.log('렌더링 완료!');
console.log({
name,
nickname
});
}, []); //마운트될 때만 컴포넌트 실행.
const onChangeName = e => {
setName(e.target.value);
};
const onChangeNickname = e => {
setNickname(e.target.value);
};
return(
<div>
<div>
<input value = {name} onChange = {onChangeName}/>
<input value = {nickname} onChange = {onChangeNickname}/>
</div>
<div>
<div>
이름 : {name}
</div>
<div>
닉네임 : {nickname}
</div>
</div>
</div>
);
};
export default Info;
- 마운트될 때만 컴포넌트 실행
import React, {useState, useEffect} from 'react';
const Info = () => {
const [name, setName] = useState('');
const [nickname, setNickname] = useState('');
useEffect(() => {
console.log('렌더링 완료!');
console.log({
name,
nickname
});
}, [name]); //name값이 변경될 때만 컴포넌트 실행.
const onChangeName = e => {
setName(e.target.value);
};
const onChangeNickname = e => {
setNickname(e.target.value);
};
return(
<div>
<div>
<input value = {name} onChange = {onChangeName}/>
<input value = {nickname} onChange = {onChangeNickname}/>
</div>
<div>
<div>
이름 : {name}
</div>
<div>
닉네임 : {nickname}
</div>
</div>
</div>
);
};
export default Info;
- name값이 변경될 때만 컴포넌트 실행
import React, {useState, useEffect} from 'react';
const Info = () => {
const [name, setName] = useState('');
const [nickname, setNickname] = useState('');
useEffect(() => {
console.log('렌더링 완료!');
console.log({
name,
nickname
});
}, [name]); //name값이 변경될 때만 컴포넌트 실행.
const onChangeName = e => {
setName(e.target.value);
};
const onChangeNickname = e => {
setNickname(e.target.value);
};
return(
<div>
<div>
<input value = {name} onChange = {onChangeName}/>
<input value = {nickname} onChange = {onChangeNickname}/>
</div>
<div>
<div>
이름 : {name}
</div>
<div>
닉네임 : {nickname}
</div>
</div>
</div>
);
};
export default Info;
'React' 카테고리의 다른 글
CSS (0) | 2021.01.29 |
---|---|
개념 정리 (0) | 2021.01.25 |
Component의 라이프 사이클 메서드 (0) | 2021.01.22 |
map() 함수 (0) | 2021.01.21 |
useReducer (0) | 2021.01.20 |