React์ experimental_useRefresh ๊ตฌํ, ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ ๋ฉ์ปค๋์ฆ, ์ฅ์ , ์ฌ์ฉ๋ฒ ๋ฐ ๋ค๋ฅธ ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์ ๊ณผ์ ๋น๊ต๋ฅผ ์ดํด๋ณด์ธ์. ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์ ๋ฐ์ดํธ๋ก ๊ฐ๋ฐ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ์ธ์.
React experimental_useRefresh ๊ตฌํ: ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ ์ฌ์ธต ๋ถ์
React๋ ์ปดํฌ๋ํธ ๊ธฐ๋ฐ ์ํคํ
์ฒ์ ์ ์ธ์ ์ ๊ทผ ๋ฐฉ์์ผ๋ก ํ๋ก ํธ์๋ ๊ฐ๋ฐ์ ํ๋ช
์ ์ผ์ผ์ผฐ์ต๋๋ค. React ์ํ๊ณ๊ฐ ๊ณ์ ๋ฐ์ ํจ์ ๋ฐ๋ผ ๊ฐ๋ฐ์ ๊ฒฝํ์ ํฅ์์ํค๊ธฐ ์ํ ์๋ก์ด ๋๊ตฌ์ ๊ธฐ์ ์ด ๋ฑ์ฅํ๊ณ ์์ต๋๋ค. ๊ทธ๋ฌํ ํ์ ์ค ํ๋๊ฐ experimental_useRefresh๋ก, ๊ฐ๋ฐ ์ค์ ๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์ปดํฌ๋ํธ ์
๋ฐ์ดํธ๋ฅผ ์ฉ์ดํ๊ฒ ํ๋๋ก ์ค๊ณ๋ ๊ฐ๋ ฅํ ๋ฉ์ปค๋์ฆ์
๋๋ค.
์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ์ด๋ ๋ฌด์์ธ๊ฐ?
์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ์ ์ข ์ข "ํซ ๋ฆฌ๋ก๋ฉ" ๋๋ "๋น ๋ฅธ ์๋ก๊ณ ์นจ"์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ฉฐ, ๊ฐ๋ฐ์๊ฐ ์ ์ฒด ํ์ด์ง๋ฅผ ๋ค์ ๋ก๋ํ ํ์ ์์ด React ์ปดํฌ๋ํธ์ ๋ณ๊ฒฝ ์ฌํญ์ ๋ธ๋ผ์ฐ์ ์ ๊ฑฐ์ ์ฆ์ ๋ฐ์ํ ์ ์๊ฒ ํด์ฃผ๋ ๊ธฐ์ ์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ฌ๋น๋๋๊ณ ์๋ก๊ณ ์นจ๋๊ธฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๋ ์๊ฐ์ ์ค์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์๋๋ฅผ ๊ทน์ ์ผ๋ก ๋์ฌ์ค๋๋ค.
๊ธฐ์กด์ ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์
์ ์ข
์ข
๋ณต์กํ ๊ตฌ์ฑ์ ํฌํจํ๋ฉฐ ๋๋ก๋ ์ ๋ขฐํ ์ ์์ด ์๊ธฐ์น ์์ ๋์์ด๋ ์ปดํฌ๋ํธ ์ํ ์์ค์ ์ด๋ํ ์ ์์ต๋๋ค. experimental_useRefresh๋ ๋ ๊ฐ๋ ฅํ๊ณ ์์ธก ๊ฐ๋ฅํ ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํจ์ผ๋ก์จ ์ด๋ฌํ ๋ฌธ์ ๋ค์ ํด๊ฒฐํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
experimental_useRefresh ์ดํดํ๊ธฐ
experimental_useRefresh๋ React ํ์ด ํซ ๋ฆฌ๋ก๋ฉ ๊ฒฝํ์ ๊ฐ์ ํ๊ธฐ ์ํด ๋์
ํ ์คํ์ ์ธ API์
๋๋ค. ์ด๋ Webpack, Parcel, Rollup๊ณผ ๊ฐ์ ์ต์ ๋ฒ๋ค๋ฌ์ ๊ธฐ๋ฅ๊ณผ ๊ฐ๊ฐ์ HMR(Hot Module Replacement) ๊ตฌํ์ ํ์ฉํ์ฌ ์ํํ๊ณ ํจ์จ์ ์ธ ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ ์ํฌํ๋ก์ฐ๋ฅผ ์ ๊ณตํฉ๋๋ค.
experimental_useRefresh์ ์ฃผ์ ํน์ง
- ๋น ๋ฅธ ์ ๋ฐ์ดํธ: ์ปดํฌ๋ํธ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ธ๋ผ์ฐ์ ์ ๊ฑฐ์ ์ฆ์ ๋ฐ์๋์ด ๊ฐ๋ฐ ์๊ฐ์ ํฌ๊ฒ ๋จ์ถํฉ๋๋ค.
- ์ํ ๋ณด์กด: ๋๋ถ๋ถ์ ๊ฒฝ์ฐ ์๋ก๊ณ ์นจ ์ค์๋ ์ปดํฌ๋ํธ์ ์ํ๊ฐ ๋ณด์กด๋๋ฏ๋ก, ๊ฐ๋ฐ์๋ ์ค์ํ ์ปจํ ์คํธ๋ฅผ ์์ง ์๊ณ UI ๋ณ๊ฒฝ ์์ ์ ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
- ์ ๋ขฐ์ฑ:
experimental_useRefresh๋ ๊ธฐ์กด ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์ ๋ณด๋ค ๋ ์ ๋ขฐํ ์ ์๋๋ก ์ค๊ณ๋์ด ์๊ธฐ์น ์์ ์ค๋ฅ๋ ๋ถ์ผ์น์ ๊ฐ๋ฅ์ฑ์ ์ค์ ๋๋ค. - ์ฌ์ด ํตํฉ: ์ธ๊ธฐ ์๋ ๋ฒ๋ค๋ฌ ๋ฐ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ํํ๊ฒ ํตํฉ๋๋ฉฐ, ์ต์ํ์ ๊ตฌ์ฑ๋ง ํ์ํฉ๋๋ค.
experimental_useRefresh์ ์๋ ๋ฐฉ์
experimental_useRefresh์ ๊ธฐ๋ณธ ๋ฉ์ปค๋์ฆ์ ๋ช ๊ฐ์ง ์ฃผ์ ๋จ๊ณ๋ฅผ ํฌํจํฉ๋๋ค:
- ๋ชจ๋ ๊ต์ฒด: ์ปดํฌ๋ํธ ํ์ผ์ด ์์ ๋๋ฉด ๋ฒ๋ค๋ฌ์ HMR ์์คํ ์ด ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ ๋ชจ๋ ๊ต์ฒด๋ฅผ ํธ๋ฆฌ๊ฑฐํฉ๋๋ค.
- React ์ฌ์กฐ์ : ๊ทธ๋ฌ๋ฉด React๋ ์ ๋ฐ์ดํธ๋ ์ปดํฌ๋ํธ๋ฅผ ๊ฐ์ DOM์ ๊ธฐ์กด ์ปดํฌ๋ํธ์ ๋น๊ตํฉ๋๋ค.
- ์ปดํฌ๋ํธ ์ฌ๋ ๋๋ง: ๋ณ๊ฒฝ ์ฌํญ์ด ์ํ ๋ณด์กด๊ณผ ํธํ๋๋ ๊ฒฝ์ฐ, React๋ ์ํ๋ฅผ ๋ณด์กดํ๋ฉด์ ์ปดํฌ๋ํธ๋ฅผ ์ ์๋ฆฌ์์ ์ ๋ฐ์ดํธํฉ๋๋ค. ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ React๋ ์ปดํฌ๋ํธ๋ฅผ ๋ค์ ๋ง์ดํธํ ์ ์์ต๋๋ค.
- ๋น ๋ฅธ ํผ๋๋ฐฑ: ๋ณ๊ฒฝ ์ฌํญ์ด ๋ธ๋ผ์ฐ์ ์ ๊ฑฐ์ ์ฆ์ ๋ฐ์๋์ด ๊ฐ๋ฐ์์๊ฒ ์ฆ๊ฐ์ ์ธ ํผ๋๋ฐฑ์ ์ ๊ณตํฉ๋๋ค.
ํ๋ก์ ํธ์์ experimental_useRefresh ์ฌ์ฉํ๊ธฐ
experimental_useRefresh๋ฅผ ์ฌ์ฉํ๋ ค๋ฉด ํธํ๋๋ ๋ฒ๋ค๋ฌ์ ์ ์ ํ React Refresh ํ๋ฌ๊ทธ์ธ์ผ๋ก ํ๋ก์ ํธ๋ฅผ ๊ตฌ์ฑํด์ผ ํฉ๋๋ค.
Webpack์ผ๋ก ๊ตฌ์ฑํ๊ธฐ
Webpack์ ๊ฒฝ์ฐ, ์ผ๋ฐ์ ์ผ๋ก @pmmmwh/react-refresh-webpack-plugin์ ์ฌ์ฉํฉ๋๋ค. ๋ค์์ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์ฑ ์์์
๋๋ค:
const ReactRefreshWebpackPlugin = require('@pmmmwh/react-refresh-webpack-plugin');
module.exports = {
// ... other webpack configuration
plugins: [
new ReactRefreshWebpackPlugin(),
],
devServer: {
hot: true, // Enable hot module replacement
},
};
Parcel๋ก ๊ตฌ์ฑํ๊ธฐ
Parcel์ React Refresh๋ฅผ ๊ธฐ๋ณธ์ ์ผ๋ก ์ง์ํฉ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ถ๊ฐ ๊ตฌ์ฑ์ด ํ์ํ์ง ์์ต๋๋ค. ์ต์ ๋ฒ์ ์ Parcel์ ์ฌ์ฉํ๊ณ ์๋์ง ํ์ธํ์ธ์.
Rollup์ผ๋ก ๊ตฌ์ฑํ๊ธฐ
Rollup์ ๊ฒฝ์ฐ, @rollup/plugin-react-refresh ํ๋ฌ๊ทธ์ธ์ ์ฌ์ฉํ ์ ์์ต๋๋ค:
import reactRefresh from '@rollup/plugin-react-refresh';
export default {
// ... other rollup configuration
plugins: [
reactRefresh(),
],
};
์ฝ๋ ์์
๋ค์์ experimental_useRefresh์ ์ด์ ์ ๋ณด์ฌ์ฃผ๋ ๊ฐ๋จํ React ์ปดํฌ๋ํธ์
๋๋ค:
import React, { useState } from 'react';
function Counter() {
const [count, setCount] = useState(0);
return (
Count: {count}
);
}
export default Counter;
์ด ์ปดํฌ๋ํธ๋ฅผ ์์ ํ ๋(์: ๋ฒํผ ํ
์คํธ ๋ณ๊ฒฝ ๋๋ ์คํ์ผ ์ถ๊ฐ), experimental_useRefresh๋ ์นด์ดํธ ์ํ๋ฅผ ์ฌ์ค์ ํ์ง ์๊ณ ๋ธ๋ผ์ฐ์ ์์ ์ปดํฌ๋ํธ๋ฅผ ์
๋ฐ์ดํธํ์ฌ ์ํํ ๊ฐ๋ฐ ๊ฒฝํ์ ์ ๊ณตํฉ๋๋ค.
experimental_useRefresh ์ฌ์ฉ์ ์ด์
experimental_useRefresh๋ฅผ ์ฌ์ฉํ๋ฉด ๋ช ๊ฐ์ง ์ค์ํ ์ด์ ์ด ์์ต๋๋ค:
- ๊ฐ๋ฐ์ ์์ฐ์ฑ ํฅ์: ๋ ๋น ๋ฅธ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ํตํด ๊ฐ๋ฐ์๊ฐ ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๋ฐ๋ณต ์์ ์ ์ํํ ์ ์์ต๋๋ค.
- ํฅ์๋ ๋๋ฒ๊น ๊ฒฝํ: ์ํ ๋ณด์กด์ ๊ฐ๋ฐ์๊ฐ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๋ ๋์ ์ปจํ ์คํธ๋ฅผ ์ ์งํ ์ ์๊ฒ ํ์ฌ ๋๋ฒ๊น ์ ๋จ์ํํฉ๋๋ค.
- ๋ณด์ผ๋ฌํ๋ ์ดํธ ๊ฐ์: ์ธ๊ธฐ ์๋ ๋ฒ๋ค๋ฌ์์ ์ํํ ํตํฉ์ผ๋ก ํ์ํ ๊ตฌ์ฑ์ ์์ด ์ค์ด๋ญ๋๋ค.
- ๋ ๋์ ์ ๋ขฐ์ฑ:
experimental_useRefresh์ ๊ฒฌ๊ณ ํ ๊ตฌํ์ ์๊ธฐ์น ์์ ์ค๋ฅ๋ ๋ถ์ผ์น์ ์ํ์ ์ต์ํํฉ๋๋ค.
์ ์ฌ์ ์ธ ๊ณผ์ ๋ฐ ๊ณ ๋ ค์ฌํญ
experimental_useRefresh๋ ์๋ง์ ์ด์ ์ ์ ๊ณตํ์ง๋ง, ์ผ๋์ ๋์ด์ผ ํ ๋ช ๊ฐ์ง ์ ์ฌ์ ์ธ ๊ณผ์ ์ ๊ณ ๋ ค์ฌํญ๋ ์์ต๋๋ค:
- ์ํ ์์ค: ๊ฒฝ์ฐ์ ๋ฐ๋ผ, ํนํ ์ปดํฌ๋ํธ์ ๊ตฌ์กฐ๋ ์์กด์ฑ์ ์ค๋ํ ๋ณ๊ฒฝ์ ๊ฐํ ๋ ์๋ก๊ณ ์นจ ์ค์ ์ํ๊ฐ ์์ค๋ ์ ์์ต๋๋ค.
- ํธํ์ฑ ๋ฌธ์ : ๋ฒ๋ค๋ฌ, React Refresh ํ๋ฌ๊ทธ์ธ, React ๋ฒ์ ์ด
experimental_useRefresh์ ํธํ๋๋์ง ํ์ธํด์ผ ํฉ๋๋ค. - ๋ณต์กํ ์ปดํฌ๋ํธ: ๋ณต์กํ ์ํ ๊ด๋ฆฌ๋ฅผ ๊ฐ์ง ๋งค์ฐ ๋ณต์กํ ์ปดํฌ๋ํธ๋ ์ ์ ํ ์ํ ๋ณด์กด์ ๋ณด์ฅํ๊ธฐ ์ํด ์ถ๊ฐ์ ์ธ ์ฃผ์๊ฐ ํ์ํ ์ ์์ต๋๋ค.
- ์คํ์ ์ํ: ์คํ์ ์ธ API์ด๋ฏ๋ก,
experimental_useRefresh๋ ํฅํ React ๋ฒ์ ์์ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์ ๊ฑฐ๋ ์ ์์ต๋๋ค.
๋ค๋ฅธ ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์ ๊ณผ์ ๋น๊ต
React ๊ฐ๋ฐ์ ์ํ ์ฌ๋ฌ ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์
์ด ์์ต๋๋ค. ๋ค์์ experimental_useRefresh์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ๋ช ๊ฐ์ง ๋์์ ๋น๊ตํ ๊ฒ์
๋๋ค:
React Hot Loader
React Hot Loader๋ React๋ฅผ ์ํ ์ด๊ธฐ์ ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋ ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์
์ค ํ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ข
์ข
์ ๋ขฐ์ฑ ๋ฌธ์ ๋ก ์ด๋ ค์์ ๊ฒช์ผ๋ฉฐ ๊ตฌ์ฑํ๊ธฐ ์ด๋ ค์ธ ์ ์์ต๋๋ค. experimental_useRefresh๋ ๋ ๊ฐ๋ ฅํ๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ๋์์ ์ ๊ณตํ๋ ๊ฒ์ ๋ชฉํ๋ก ํฉ๋๋ค.
Webpack HMR
Webpack์ ๋ด์ฅ๋ HMR(Hot Module Replacement)์ experimental_useRefresh๋ฅผ ํฌํจํ ๋ง์ ํซ ๋ฆฌ๋ก๋ฉ ์๋ฃจ์
์ ๊ธฐ๋ฐ์ด ๋๋ ๊ธฐ๋ณธ ๊ธฐ์ ์
๋๋ค. ๊ทธ๋ฌ๋ HMR๋ง์ผ๋ก๋ ์ํํ ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ์ ์ถฉ๋ถํ์ง ์์ต๋๋ค. experimental_useRefresh๋ HMR ์์ ๊ตฌ์ถ๋์ด ๋ React์ ํนํ๋ ์๋ฃจ์
์ ์ ๊ณตํฉ๋๋ค.
๋์ ๋ถ์
๊ธฐ์กด ๋ฐฉ๋ฒ๊ณผ ๋น๊ตํ ๋ experimental_useRefresh๋ ๋ค์์ ์ ๊ณตํฉ๋๋ค:
- ํฅ์๋ ์ ๋ขฐ์ฑ: ์ถฉ๋ ๋ฐ ์๊ธฐ์น ์์ ๋์ ๊ฐ์.
- ๋ ๋์ ์ํ ๋ณด์กด: ์ ๋ฐ์ดํธ ์ค ๋ ์ผ๊ด๋ ์ํ ์ ์ง.
- ๋จ์ํ๋ ๊ตฌ์ฑ: ์ต์ ๋ฒ๋ค๋ฌ๋ก ๋ ์ฌ์ด ์ค์ .
์ค์ ์์ ๋ฐ ์ฌ์ฉ ์ฌ๋ก
experimental_useRefresh๋ ๋ค์ํ ์ค์ ์๋๋ฆฌ์ค์์ ํนํ ์ ์ฉํ ์ ์์ต๋๋ค:
- UI ๊ฐ๋ฐ: UI ์ปดํฌ๋ํธ ๋ฐ ์คํ์ผ์ ๋ํ ๋ฐ๋ณต ์์ ์ด ํจ์ฌ ๋น ๋ฅด๊ณ ํจ์จ์ ์ผ๋ก ๋ฉ๋๋ค.
- ๋๋ฒ๊น : ๋๋ฒ๊น ์ค ์ํ๋ฅผ ๋ณด์กดํ๋ฉด ๋ฌธ์ ๋ฅผ ์๋ณํ๊ณ ์์ ํ๋ ๊ณผ์ ์ด ๋จ์ํ๋ฉ๋๋ค.
- ํ๋กํ ํ์ดํ: ๋ค์ํ ์ปดํฌ๋ํธ ๋์์ธ๊ณผ ์ํธ์์ฉ์ ๋น ๋ฅด๊ฒ ์คํํ ์ ์์ต๋๋ค.
- ๋๊ท๋ชจ ํ๋ก์ ํธ: ๋ง์ ์ปดํฌ๋ํธ๊ฐ ์๋ ๋๊ท๋ชจ ํ๋ก์ ํธ์์๋
experimental_useRefresh์ ์ด์ ์ด ๋์ฑ ๋๋๋ฌ์ง๋๋ค.
๊ตญ์ ์ ํ๋ฆฌ์ผ์ด์ ์์
์ํ ๋ชฉ๋ก, ์ผํ ์นดํธ, ๊ฒฐ์ ํ๋ก์ธ์ค๋ฅผ ์ํ ์ปดํฌ๋ํธ๋ก ์ ์ ์๊ฑฐ๋ ํ๋ซํผ์ ๊ตฌ์ถํ๋ ๊ฐ๋ฐํ์ ์๊ฐํด๋ณด์ญ์์ค. experimental_useRefresh๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ํ์ฌ ์ํ ์ ํ์ด๋ ์นดํธ ๋ด์ฉ์ ์ปจํ
์คํธ๋ฅผ ์์ง ์๊ณ ์ํ ๋ชฉ๋ก ์ปดํฌ๋ํธ์ UI๋ฅผ ๋น ๋ฅด๊ฒ ๋ฐ๋ณตํ๊ณ ๋ ์ด์์, ์คํ์ผ๋ง, ์ฝํ
์ธ ๋ฅผ ์กฐ์ ํ ์ ์์ต๋๋ค. ์ด๋ ๊ฐ๋ฐ ํ๋ก์ธ์ค์ ์๋๋ฅผ ๋์ด๊ณ ๋ ๋น ๋ฅธ ํ๋กํ ํ์ดํ๊ณผ ์คํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค. ์ด๋ ํ์ด ๋ฐฉ๊ฐ๋ก๋ฅด, ๋ฒ ๋ฅผ๋ฆฐ, ๋ถ์๋
ธ์ค์์ด๋ ์ค ์ค ์ด๋์ ์๋ ๋์ผํ๊ฒ ์ ์ฉ๋ฉ๋๋ค.
experimental_useRefresh ์ฌ์ฉ์ ์ํ ๋ชจ๋ฒ ์ฌ๋ก
experimental_useRefresh๋ฅผ ์ต๋ํ ํ์ฉํ๋ ค๋ฉด ๋ค์ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ๋ฐ๋ฅด์ญ์์ค:
- ์ปดํฌ๋ํธ๋ฅผ ์๊ณ ์ง์ค์ ์ผ๋ก ์ ์ง: ๋ ์๊ณ ๋ชจ๋ํ๋ ์ปดํฌ๋ํธ๋ ์ ๋ฐ์ดํธํ๊ณ ์ ์ง ๊ด๋ฆฌํ๊ธฐ๊ฐ ๋ ์ฝ์ต๋๋ค.
- ํจ์ํ ์ปดํฌ๋ํธ์ ํ
์ฌ์ฉ: ํจ์ํ ์ปดํฌ๋ํธ์ ํ
์ ์ผ๋ฐ์ ์ผ๋ก ํด๋์ค ์ปดํฌ๋ํธ๋ณด๋ค
experimental_useRefresh์ ๋ ์ ์๋ํฉ๋๋ค. - ๋ ๋๋ง์์ ๋ถ์ ํจ๊ณผ ํผํ๊ธฐ: ์๋ก๊ณ ์นจ ์ค ์์ธก ๊ฐ๋ฅํ ๋์์ ๋ณด์ฅํ๊ธฐ ์ํด ๋ ๋ ํจ์ ๋ด์ ๋ถ์ ํจ๊ณผ๋ฅผ ์ต์ํํ์ญ์์ค.
- ์ฒ ์ ํ ํ ์คํธํ๊ธฐ: ๋ณ๊ฒฝ ํ์๋ ํญ์ ์ปดํฌ๋ํธ๋ฅผ ํ ์คํธํ์ฌ ์์๋๋ก ์๋ํ๋์ง ํ์ธํ์ญ์์ค.
- ์ต์ ์ํ ์ ์ง: ์ต์ ๊ธฐ๋ฅ๊ณผ ๋ฒ๊ทธ ์์ ์ ํ์ฉํ๋ ค๋ฉด ๋ฒ๋ค๋ฌ, React Refresh ํ๋ฌ๊ทธ์ธ, React ๋ฒ์ ์ ์ต์ ์ํ๋ก ์ ์งํ์ญ์์ค.
React์์ ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ์ ๋ฏธ๋
experimental_useRefresh๋ React์์ ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ์ ๋ฐ์ ์ ์์ด ์ค์ํ ์ง์ ์ ๋ํ๋
๋๋ค. React ํ์ด ์ด ๋ฉ์ปค๋์ฆ์ ๊ณ์ํด์ ๊ฐ์ ํ๊ณ ํฅ์์ํด์ ๋ฐ๋ผ, ์ด๋ React ๊ฐ๋ฐ ์ํฌํ๋ก์ฐ์์ ์ ์ ๋ ์ค์ํ ๋ถ๋ถ์ด ๋ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ฅ๊ธฐ์ ์ธ ๋ชฉํ๋ ๊ฐ๋ฐ์๊ฐ ๋ ๋์ React ์ ํ๋ฆฌ์ผ์ด์
์ ๋ ํจ์จ์ ์ผ๋ก ๊ตฌ์ถํ ์ ์๋๋ก ์ง์ํ๋ ์ํํ๊ณ ์์ ์ ์ด๋ฉฐ ์ง๊ด์ ์ธ ์ปดํฌ๋ํธ ์๋ก๊ณ ์นจ ๊ฒฝํ์
๋๋ค.
๊ฒฐ๋ก
experimental_useRefresh๋ React์ ๊ฐ๋ฐ์ ๊ฒฝํ์ ํฅ์์ํค๋ ๊ฐ๋ ฅํ๊ณ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์ํ ๋ณด์กด ๊ธฐ๋ฅ์ด ์๋ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์ปดํฌ๋ํธ ์
๋ฐ์ดํธ๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ๊ฐ๋ฐ์๊ฐ ๋ ๋น ๋ฅด๊ณ ํจ๊ณผ์ ์ผ๋ก ๋ฐ๋ณต ์์
์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค. ์์ง ์คํ์ ์ธ API์ด์ง๋ง, React์์ ํซ ๋ฆฌ๋ก๋ฉ์ ๋ฏธ๋์ ๋ํ ์ ๋งํ ๋ฐฉํฅ์ ์ ์ํฉ๋๋ค. React ์ํ๊ณ๊ฐ ๊ณ์ ๋ฐ์ ํจ์ ๋ฐ๋ผ, experimental_useRefresh์ ๊ฐ์ ๋๊ตฌ๋ ๊ฐ๋ฐ์๊ฐ ๊ณ ํ์ง React ์ ํ๋ฆฌ์ผ์ด์
์ ๋ ์ฝ๊ณ ํจ์จ์ ์ผ๋ก ๊ตฌ์ถํ๋ ๋ฐ ์ ์ ๋ ์ค์ํ ์ญํ ์ ํ ๊ฒ์
๋๋ค.
experimental_useRefresh๋ฅผ ์ฑํํจ์ผ๋ก์จ ์ ์ธ๊ณ ๊ฐ๋ฐํ์ ์์ฐ์ฑ์ ํฌ๊ฒ ํฅ์์ํค๊ณ ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ ๊ณตํ ์ ์์ต๋๋ค. ์๊ท๋ชจ ๊ฐ์ธ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ ๋๊ท๋ชจ ์ํฐํ๋ผ์ด์ฆ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ๋ฐํ๋ , ๋ ๋น ๋ฅธ ํผ๋๋ฐฑ ๋ฃจํ์ ์ํ ๋ณด์กด์ ์ด์ ์ ํ์ ์ ์ผ ์ ์์ต๋๋ค.