함수형 컴포넌트에서 다양한 기능을 사용하게 만들어 주는 라이브러리입니다. 이는 함수형 컴포넌트에 맞게 만들어진 것으로 함수형 컴포넌트만 사용할 수 있습니다.
import React, { useState } from 'react';
function Example () {
const [count, setCount] = useState(0);
return (
<div>
<p>You clicked {count} times</p>
<button onClick={ () => setcount(count + 1)}>
click me!
</button>
</div>
);
}
예시 1
import React from 'react';
React.useEffect(() => {
dispatch(getActions.getFundingAC(page));
});
import React from 'react';
React.useEffect(() => {
dispatch(getActions.getFundingAC(page));
}, []);
└▷ 두번째로 의존성 배열에 빈 배열을 담아주게 될 경우에는 첫 렌더링 시에만 함수를 실행합니다.
import React from 'react';
const [page, setPage] = React.useState(1)
React.useEffect(() => {
dispatch(getActions.getFundingAC(page));
}, [page]);
└▷ 마지막으로 의존성 배열의 state 값이나 props로 상속 받은 데이터 값을 담아주면 해당 값이 변할 때마다 함수를 실행합니다.
import React, { useState, useEffect, useRef } from 'react';
useEffect(() => {
dispatch(getActions.getFundingAC(fundId));
return () => {
dispatch(getActions.clean())
}
}, []);
└▷ 이 외에도 useEffect는 언마운트 시 cleanup 함수를 적용할 수 있습니다.
Q_2. 클래스 컴포넌트와 함수형 컴포넌트의 차이점에 대해 설명해주세요.
Q_3. 아래는 상품 가격이 담긴 객체 배열입니다.
const products = [
{ id: 1, product: 'Laptop', price: 7200 },
{ id: 2, product: 'HeadPhone', price: 6000 },
{ id: 3, product: 'Mouse', price: 2000 },
{ id: 4, product: 'Keyboard', price: 4200 },
{ id: 5, product: 'Desktop', price: 10800 },
]