๐ง Batching ์ด๋ ์ฌ๋ฌ ์ํ๊ฐ ํ ๋ฒ์ ๋ณ๊ฒฝ๋ ๋, ๋ฆฌ์กํธ๋ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ผ๊ด ์ฒ๋ฆฌํ์ฌ ๋ ๋๋ง ์ฃผ๊ธฐ๋ฅผ ์ต์ ํํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
Batching
- ๋ฆฌ์กํธ ๋ฒ์ 18๋ถํฐ ๋์ฑ ๊ฐํ๋์๋ค.
- ์ด๋ฒคํธ ์ฒ๋ฆฌ ๋ฐฉ์์ ๊ฐ์ ์ผ๋ก, ์ฑ๋ฅ์ ํฅ์ํ๋๋ฐ ๋์์ด ๋๋ค.
- ๋ฆฌ์กํธ๊ฐ UI ์ ๋ฐ์ดํธ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฌ๋ฌ ์ ๋ฐ์ดํธ๋ฅผ ์ผ๊ด๋ก ์ฒ๋ฆฌํ์ฌ ๋ ๋๋ง ์ฃผ๊ธฐ๋ฅผ ์ต์ ํํ๋ ๋ฐฉ์์ ์๋ฏธํ๋ค.
๊ธฐ์กด
- ์ํ(State)๊ฐ ์ ๋ฐ์ดํธ๋๋ฉด, ํด๋น ์ปดํฌ๋ํธ์ ๊ทธ ์์ ์ปดํฌ๋ํธ๋ค์ด ๋ชจ๋ ๋ค์ ๋ ๋๋ง ๋์๋ค.
- ์ด๋ฌํ ๋ฐฉ์์ ์์ ์ ๋ฐ์ดํธ๋ ํฐ ๋ ๋๋ง ์์ ์ผ๋ก ์ด์ด์ง ์ ์์ด ์ฑ๋ฅ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์๋ค.
๋ฒ์ 18
- ์ฌ๋ฌ ์ํ ์ ๋ฐ์ดํธ๋ฅผ ํ๊บผ๋ฒ์ ์ฒ๋ฆฌํ์ฌ ๋ ๋๋ง ์์ ์ ์ต์ ํํ๋ค.
- ์๋ฅผ ๋ค์ด, ์ฌ๋ฌ ์ํ๊ฐ ํ ๋ฒ์ ๋ณ๊ฒฝ๋ ๋, ๋ฆฌ์กํธ๋ ์ด๋ฌํ ๋ณ๊ฒฝ ์ฌํญ์ ์ผ๊ด ์ฒ๋ฆฌํ์ฌ ๋ ๋๋ง์ ๋จ์ผ ์์ ์ผ๋ก ์ฒ๋ฆฌํ๋ค.
- ์ค๋ณต๋ ๋ ๋๋ง์ ๋ฐฉ์งํ๊ณ ์ฑ๋ฅ์ ํฅ์ํ๋ค.
Batching ์๋ฌธ
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
const handleClick = () => {
// ์ฌ๋ฌ ์ํ ์
๋ฐ์ดํธ๋ฅผ ํ ๋ฒ์ ์ฒ๋ฆฌ
setCount(count + 1); // count ์ํ๋ฅผ ์ฆ๊ฐ์ํด
setCount(count + 1); // count ์ํ๋ฅผ ๋ค์ ์ฆ๊ฐ์ํด
setCount(count + 1); // count ์ํ๋ฅผ ํ ๋ฒ ๋ ์ฆ๊ฐ์ํด
};
return (
<div>
<p>Count: {count}</p>
<button onClick={handleClick}>Increase Count</button>
</div>
);
}
export default Counter;
// ์๋ฐ์คํฌ๋ฆฝํธ ๊ธฐ๋ฐ ์ฝ์ ๊ฒฐ๊ณผ
count 1
count 2
count 3
// batching ์ฝ์ ๊ฒฐ๊ณผ
count 3
- handleClick ํจ์ ๋ด์์ setCount ํจ์๋ฅผ ์ฐ์ํด์ ํธ์ถ
- ๋ฆฌ์กํธ๋ ์ํ ์ ๋ฐ์ดํธ๋ฅผ ์ผ๊ด ์ฒ๋ฆฌํ์ฌ ์ต์ ํํ๋ค.
- ๋ฐ๋ผ์ ๋ฒํผ์ ํด๋ฆญํ ๋๋ง๋ค count ์ํ๊ฐ ์ธ ๋ฒ ์ฆ๊ฐํ์ง๋ง, ๋ฆฌ์กํธ๋ ์ด๋ฅผ ํ ๋ฒ์ ๋ ๋๋ง ์์ ์ผ๋ก ์ฒ๋ฆฌํ์ฌ ์ฑ๋ฅ์ ์ต์ ํํ๋ค.
'Frontend > React' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
React Router: push์ replace์ ์ฐจ์ด์ (0) | 2024.10.15 |
---|---|
React Hook Form์ handleSubmit์ผ๋ก ํผ ์ ์ถ ์ ํ์ด์ง ๋ฆฌ๋ ๋๋ง ๋ฐฉ์งํ๊ธฐ (0) | 2024.09.26 |
React Router v6 (0) | 2024.09.26 |
React์์ ๋ ๋๋ง์ด ๋ฐ์ํ๋ ์กฐ๊ฑด๊ณผ ๋ ๋๋ง ์ฑ๋ฅ ์ต์ ํ ๋ฐฉ๋ฒ (0) | 2024.05.09 |
Hook์ ๊ท์น (0) | 2024.05.08 |