코드네임 :

React - 5 useEffect 본문

🖥️Frontend/React

React - 5 useEffect

비엔 Vien 2025. 3. 16. 21:47

그뭐니 nodejs로 지금 뭐 실행중이던데

 

index.js

import React from "react";
import ReactDOM from "react-dom/client";
import App from "./App";

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(
<React.StrictMode>
<App />
</React.StrictMode>
);


 

 

 

App.js

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);

//api를 한번만 호출하고 다시는 하지 않게 해주는 useEffect?
useEffect(() => {
console.log("CALL THE API....(i run only once.)");
}, []);
useEffect(() => {
if (keyword !== "" && keyword.length >5){
console.log("SEARCH FOR", keyword);
console.log("I run when 'keyword' changes");
}
}, [keyword]);
useEffect(() => {
console.log("I run when 'counter' changes");
}, [counter]);
return (
<div className="App">
<input
value={keyword}
onChange={onChange}
type="text"
placeholder="Search here..."
/>
<h1 className={styles.title}>{counter}</h1>
<button onClick={onClick}>click me</button>
</div>
);
}

export default App;

'🖥️Frontend > React' 카테고리의 다른 글

React - 7 Coin Tracker  (1) 2025.03.17
React - 6 ToDoList  (0) 2025.03.17
React -4 Props  (0) 2025.03.15
React -3 State  (0) 2025.03.11
React -2  (0) 2025.03.11