FRONT/REACT
[React] UseEffect 사용하기(노마드코더 영화 웹서비스 만들기)
연듀
2022. 1. 6. 21:04
import Button from "./Button";
import styles from "./App.module.css";
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);
useEffect(() => {
console.log("I run only once.");
}, []); // 처음 render 시에 딱 한 번 실행
useEffect(() => {
console.log("I run when 'keyword' changes.");
}, [keyword]); // keyword 변화할 때마다 코드 실행
useEffect(() => {
console.log("I run when 'counter' changes.");
}, [counter]); // counter 변화할 때마다 코드 실행
useEffect(() => {
console.log("I run when 'counter, keyword' changes.");
}, [keyword, counter]); // keyword, counter 변화할 때마다 코드 실행
return (
<div>
<input
value={keyword}
onChange={onChange}
type="text"
placeholder="Search here..."
/>
<h1>{counter}</h1>
<button onClick={onClick}>click me</button>
</div>
);
}
export default App;
useEffect는 실행시키고자 하는 함수와 dependency로 이루어져있다.
dependency가 존재하면, 해당 리스트의 값이 변화할 때만 실행된다.
비어 있을 경우 처음 render시에 딱 한번만 실행된다.
반응형