요르딩딩
섹션8. 라이프사이 본문
728x90
반응형
7.1) 라이프사이클이란?






7.2) useEffect 사용하기



import "./App.css";
import Viewer from "./components/Viewer";
import Controller from "./components/Controller";
import { useState } from "react";
function App() {
const [count, setCount] = useState(0);
const onClickButton = (value) => {
setCount(count + value);
};
return (
<div className="App">
<h1>Simple Counter</h1>
<section>
<Viewer count={count} />
</section>
<section>
<Controller onClickButton={onClickButton} />
</section>
</div>
);
}
export default App;
const Viewer = ({ count }) => {
return (
<div>
<div>현재 카운트 :</div>
<h1>{count}</h1>
</div>
);
};
export default Viewer;
const Controller = ({ onClickButton }) => {
return (
<div>
<button
onClick={() => {
onClickButton(-1);
}}
>
-1
</button>
<button
onClick={() => {
onClickButton(-10);
}}
>
-10
</button>
<button
onClick={() => {
onClickButton(-100);
}}
>
-100
</button>
<button
onClick={() => {
onClickButton(100);
}}
>
+100
</button>
<button
onClick={() => {
onClickButton(10);
}}
>
+10
</button>
<button
onClick={() => {
onClickButton(1);
}}
>
+1
</button>
</div>
);
};
export default Controller;
7.3) useEffect로 라이프사이클 제어하기
1. useState
2 .userRef : 리랜더링시도 고정
-> userEffect에서 업뎃시에만 작동하도록 하고 싶을때 사용 가능
3.userEffect : 마운트/업뎃,리랜더링/언마운트
import "./App.css";
import Viewer from "./components/Viewer";
import Controller from "./components/Controller";
import { useState } from "react";
function App() {
const [count, setCount] = useState(0);
const onClickButton = (value) => {
setCount(count + value);
};
return (
<div className="App">
<h1>Simple Counter</h1>
<section>
<Viewer count={count} />
</section>
<section>
<Controller onClickButton={onClickButton} />
</section>
</div>
);
}
export default App;
const Viewer = ({ count }) => {
return (
<div>
<div>현재 카운트 :</div>
<h1>{count}</h1>
</div>
);
};
export default Viewer;
const Controller = ({ onClickButton }) => {
return (
<div>
<button
onClick={() => {
onClickButton(-1);
}}
>
-1
</button>
<button
onClick={() => {
onClickButton(-10);
}}
>
-10
</button>
<button
onClick={() => {
onClickButton(-100);
}}
>
-100
</button>
<button
onClick={() => {
onClickButton(100);
}}
>
+100
</button>
<button
onClick={() => {
onClickButton(10);
}}
>
+10
</button>
<button
onClick={() => {
onClickButton(1);
}}
>
+1
</button>
</div>
);
};
export default Controller;
7.4) React 개발자 도구 사용하기
크롬확장도구
728x90
반응형
'[강의] > [한 입 크기로 잘라 먹는 리액트(React.js)]' 카테고리의 다른 글
섹션10. userReducer (0) | 2025.04.07 |
---|---|
섹션9. 프로젝트2. TODO 리스트 (0) | 2025.04.02 |
섹션7. 프로젝트1. 카운터 (0) | 2025.04.02 |
섹션6. React.js 입문 (0) | 2025.03.28 |
섹션5. React.js 개론 (0) | 2025.03.28 |