useEffect function은 코드가 한번만 실행될 수 있도록 보호해주는 것이다.
useEffect(함수, [변수]);
위의 형태로 사용되는데 변수 값이 변화면 함수 내 코드가 작동한다!!!
import logo from './logo.svg';
//import './App.css';
//import Button from "./Button";
//import styles from "./App.module.css";
import { useEffect, useState } 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 function은 코드가 딱 한번만 실행될 수 있도록 보호해준다. **************
*/
useEffect(() => {
console.log("I run only once.");
}, []);
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 'keyword' & 'counter' 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;
react-for-beginners.z01
19.53MB
react-for-beginners.z02
19.53MB
react-for-beginners.z03
19.53MB
react-for-beginners.z04
19.53MB
react-for-beginners.zip
6.24MB
'영화 > ReactJS' 카테고리의 다른 글
07. Practice Movie App - To Do List (0) | 2025.04.08 |
---|---|
06. Cleanup (0) | 2025.04.08 |
04. Tour of CRA (0) | 2025.04.07 |
00. 리액트 Basic, State, Props 소스 첨부 (0) | 2025.04.07 |
03. CREATE REACT APP (0) | 2025.04.07 |