728x90
리액트는 간단하게 작동한다
state를 변화시킬때 component를 재실행시키는것이다.(모든 코드가 재실행)
UI관점에서 보면, 새로운 데이터가 들어올때마다 자동으로 새로고침되니 좋은 일이긴한데,
이때 모든 component를 재실행시키면 비효율적이니까
그리고 계속 실행되면 안되는 코드도 있을수 있고,
여기서 useEffect가 나온거다. (useEffect 사용이유)
의존성배열에 따라서 또 실행이 안되고 되는걸 만든거다.
참고할 코드
import { useState, useEffect } from "react";
function App() {
const [counter, setValue] = useState(0);
const [keyword, setKeyword] = useState("");
const onClick = () => setValue(prev => prev + 1);
const onChange = event => setKeyword(event.target.value);
console.log("i run all the time");
useEffect(() => {
console.log("I run only one");
}, []);
useEffect(() => {
if (keyword !== "" && keyword.length > 5 && keyword.length < 10) {
console.log("SEARCH FOR", keyword);
}
}, [keyword]);
return (
<div>
<input
value={keyword}
onChange={onChange}
type="text"
placeholder="Search here..."
></input>
<h1>hi</h1>
<h3>{counter}</h3>
<button onClick={onClick}>click me</button>
</div>
);
}
export default App;
728x90
'부트캠프교육중 > react' 카테고리의 다른 글
[노마드코더]내가 약했던 id값에 대한것(id이용법) (0) | 2023.08.03 |
---|---|
[노마드코더] 페이지따라 id적용하기 (0) | 2023.08.03 |
[노마드 코더] cleanup function (0) | 2023.07.31 |
[노마드코더] CRA에서 CSS적용하는 새로운방법 (0) | 2023.07.30 |
[코딩애플]4강 컴포넌트만들기, map사용 (0) | 2023.06.22 |