Skip to content

Commit 745503e

Browse files
committed
wip
1 parent 34203a4 commit 745503e

4 files changed

Lines changed: 9 additions & 9 deletions

File tree

โ€Žsrc/content/reference/eslint-plugin-react-hooks/lints/purity.mdโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: purity
44

55
<Intro>
66

7-
์•Œ๋ ค์ง„ ์ˆœ์ˆ˜ํ•˜์ง€ ์•Š์€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜์—ฌ [์ปดํฌ๋„ŒํŠธ/Hook์ด ์ˆœ์ˆ˜ํ•œ์ง€](/reference/rules/components-and-hooks-must-be-pure) ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
7+
์•Œ๋ ค์ง„ ์ˆœ์ˆ˜ํ•˜์ง€ ์•Š์€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜์—ฌ [์ปดํฌ๋„ŒํŠธ์™€ Hook์ด ์ˆœ์ˆ˜ํ•œ์ง€](/reference/rules/components-and-hooks-must-be-pure) ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
88

99
</Intro>
1010

โ€Žsrc/content/reference/eslint-plugin-react-hooks/lints/set-state-in-effect.mdโ€Ž

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ title: set-state-in-effect
44

55
<Intro>
66

7-
Effect์—์„œ setState๋ฅผ ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค๋Š” ์žฌ๋ Œ๋”๋ง์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
7+
Effect์—์„œ `setState`๋ฅผ ๋™๊ธฐ์ ์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๊ฒƒ์— ๋Œ€ํ•ด ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„ฑ๋Šฅ์„ ์ €ํ•˜์‹œํ‚ค๋Š” ์žฌ๋ Œ๋”๋ง์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
88

99
</Intro>
1010

@@ -14,11 +14,11 @@ Effect ๋‚ด๋ถ€์—์„œ ์ฆ‰์‹œ state๋ฅผ ์„ค์ •ํ•˜๋ฉด React๊ฐ€ ์ „์ฒด ๋ Œ๋”๋ง ์‚ฌ
1414

1515
Effect์—์„œ ๋™๊ธฐ์ ์œผ๋กœ `setState`๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ๋ธŒ๋ผ์šฐ์ €๊ฐ€ ํŽ˜์ธํŠธํ•˜๊ธฐ ์ „์— ์ฆ‰์‹œ ์žฌ๋ Œ๋”๋ง์ด ํŠธ๋ฆฌ๊ฑฐ๋˜์–ด ์„ฑ๋Šฅ ๋ฌธ์ œ์™€ ์‹œ๊ฐ์  ๋Š๊น€์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. React๋Š” ๋‘ ๋ฒˆ ๋ Œ๋”๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์€ state ์—…๋ฐ์ดํŠธ๋ฅผ ์ ์šฉํ•˜๊ณ , ๋˜ ํ•œ ๋ฒˆ์€ Effect๊ฐ€ ์‹คํ–‰๋œ ํ›„์ž…๋‹ˆ๋‹ค. ๋‹จ์ผ ๋ Œ๋”๋ง์œผ๋กœ ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์„ ๋•Œ ์ด๋Ÿฌํ•œ ์ด์ค‘ ๋ Œ๋”๋ง์€ ๋‚ญ๋น„์ž…๋‹ˆ๋‹ค.
1616

17-
๋งŽ์€ ๊ฒฝ์šฐ Effect๊ฐ€ ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Effect๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](/learn/you-might-not-need-an-effect)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
17+
๋งŽ์€ ๊ฒฝ์šฐ Effect๊ฐ€ ์ „ํ˜€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Effect๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ](/learn/you-might-not-need-an-effect)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
1818

1919
## ์ผ๋ฐ˜์ ์ธ ์œ„๋ฐ˜ ์‚ฌ๋ก€ {/*common-violations*/}
2020

21-
์ด ๊ทœ์น™์€ ๋™๊ธฐ์ ์œผ๋กœ setState๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ์—ฌ๋Ÿฌ ํŒจํ„ด์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.
21+
์ด ๊ทœ์น™์€ ๋™๊ธฐ์ ์œผ๋กœ `setState`๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์‚ฌ์šฉ๋˜๋Š” ์—ฌ๋Ÿฌ ํŒจํ„ด์„ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.
2222

2323
- ๋กœ๋”ฉ ์ƒํƒœ๋ฅผ ๋™๊ธฐ์ ์œผ๋กœ ์„ค์ •
2424
- Effect์—์„œ props๋กœ๋ถ€ํ„ฐ state ํŒŒ์ƒ
@@ -53,7 +53,7 @@ function Component({rawData}) {
5353
const [processed, setProcessed] = useState([]);
5454

5555
useEffect(() => {
56-
setProcessed(rawData.map(transform)); // ๋ Œ๋”๋ง ์ค‘์— ํŒŒ์ƒํ•ด์•ผ ํ•จ
56+
setProcessed(rawData.map(transform)); // ๋ Œ๋”๋ง ์ค‘์— ์ƒ์„ฑํ•ด์•ผ ํ•จ
5757
}, [rawData]);
5858
}
5959

@@ -90,4 +90,4 @@ function Component({selectedId, items}) {
9090
}
9191
```
9292
93-
**๊ธฐ์กด props๋‚˜ state๋กœ๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ state์— ๋„ฃ์ง€ ๋งˆ์„ธ์š”.** ๋Œ€์‹  ๋ Œ๋”๋ง ์ค‘์— ๊ณ„์‚ฐํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๋” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๋ฉฐ ์˜ค๋ฅ˜๊ฐ€ ๋œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Effect๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค](/learn/you-might-not-need-an-effect)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.
93+
**๊ธฐ์กด props๋‚˜ state๋กœ๋ถ€ํ„ฐ ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ state์— ๋„ฃ์ง€ ๋งˆ์„ธ์š”.** ๋Œ€์‹  ๋ Œ๋”๋ง ์ค‘์— ๊ณ„์‚ฐํ•˜์„ธ์š”. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ฝ”๋“œ๊ฐ€ ๋” ๋น ๋ฅด๊ณ  ๊ฐ„๋‹จํ•˜๋ฉฐ ์˜ค๋ฅ˜๊ฐ€ ๋œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ž์„ธํ•œ ๋‚ด์šฉ์€ [Effect๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์€ ๊ฒฝ์šฐ](/learn/you-might-not-need-an-effect)๋ฅผ ์ฐธ๊ณ ํ•˜์„ธ์š”.

โ€Žsrc/content/reference/eslint-plugin-react-hooks/lints/set-state-in-render.mdโ€Ž

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -107,4 +107,4 @@ function Counter({max}) {
107107
108108
์ด์ œ setter๋Š” ํด๋ฆญ์— ๋Œ€ํ•œ ์‘๋‹ต์œผ๋กœ๋งŒ ์‹คํ–‰๋˜๊ณ , React๋Š” ์ •์ƒ์ ์œผ๋กœ ๋ Œ๋”๋ง์„ ์™„๋ฃŒํ•˜๋ฉฐ, `count`๋Š” ์ ˆ๋Œ€ `max`๋ฅผ ๋„˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
109109
110-
๋“œ๋ฌธ ๊ฒฝ์šฐ์ง€๋งŒ ์ด์ „ ๋ Œ๋”๋ง์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ state๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ ์กฐ๊ฑด๋ถ€๋กœ state๋ฅผ ์„ค์ •ํ•˜๋Š” [์ด ํŒจํ„ด](https://react.dev/reference/react/useState#storing-information-from-previous-renders)์„ ๋”ฐ๋ฅด์„ธ์š”.
110+
๋“œ๋ฌธ ๊ฒฝ์šฐ์ง€๋งŒ ์ด์ „ ๋ Œ๋”๋ง์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ state๋ฅผ ์กฐ์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๊ฒฝ์šฐ ์กฐ๊ฑด๋ถ€๋กœ state๋ฅผ ์„ค์ •ํ•˜๋Š” [์ด ํŒจํ„ด](/reference/react/useState#storing-information-from-previous-renders)์„ ๋”ฐ๋ฅด์„ธ์š”.

โ€Žsrc/content/reference/eslint-plugin-react-hooks/lints/static-components.mdโ€Ž

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ title: static-components
44

55
<Intro>
66

7-
์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ •์ ์ด๋ฉฐ ๋ Œ๋”๋งํ•  ๋•Œ๋งˆ๋‹ค ์žฌ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ๋™์ ์œผ๋กœ ์žฌ์ƒ์„ฑ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๋Š” state๋ฅผ ์žฌ์„ค์ •ํ•˜๊ณ  ๊ณผ๋„ํ•œ ์žฌ๋ Œ๋”๋ง์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
7+
์ปดํฌ๋„ŒํŠธ๊ฐ€ ์ •์ ์ด๋ฉฐ ๋ Œ๋”๋งํ•  ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ์ƒ์„ฑ๋˜์ง€ ์•Š๋Š”์ง€ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค. ๋™์ ์œผ๋กœ ๋‹ค์‹œ ์ƒ์„ฑ๋˜๋Š” ์ปดํฌ๋„ŒํŠธ๋Š” state๋ฅผ ์ดˆ๊ธฐํ™”ํ•˜๊ณ  ๊ณผ๋„ํ•œ ์žฌ๋ Œ๋”๋ง์„ ํŠธ๋ฆฌ๊ฑฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
88

99
</Intro>
1010

1111
## ๊ทœ์น™ ์„ธ๋ถ€ ์ •๋ณด {/*rule-details*/}
1212

13-
๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์— ์ •์˜๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ Œ๋”๋งํ•  ๋•Œ๋งˆ๋‹ค ์žฌ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. React๋Š” ๊ฐ๊ฐ์„ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ ํƒ€์ž…์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์ด์ „ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งˆ์šดํŠธ ํ•ด์ œํ•˜๊ณ  ์ƒˆ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งˆ์šดํŠธํ•˜๋ฉฐ, ๊ทธ ๊ณผ์ •์—์„œ ๋ชจ๋“  state์™€ DOM ๋…ธ๋“œ๋ฅผ ํŒŒ๊ดดํ•ฉ๋‹ˆ๋‹ค.
13+
๋‹ค๋ฅธ ์ปดํฌ๋„ŒํŠธ ๋‚ด๋ถ€์— ์ •์˜๋œ ์ปดํฌ๋„ŒํŠธ๋Š” ๋ Œ๋”๋งํ•  ๋•Œ๋งˆ๋‹ค ๋‹ค์‹œ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. React๋Š” ๊ฐ๊ฐ์„ ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ์ปดํฌ๋„ŒํŠธ ํƒ€์ž…์œผ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ ์ด์ „ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งˆ์šดํŠธ ํ•ด์ œํ•˜๊ณ  ์ƒˆ ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งˆ์šดํŠธํ•˜๋ฉฐ, ๊ทธ ๊ณผ์ •์—์„œ ๋ชจ๋“  state์™€ DOM ๋…ธ๋“œ๋ฅผ ํŒŒ๊ดดํ•ฉ๋‹ˆ๋‹ค.
1414

1515
### ์ž˜๋ชป๋œ ์˜ˆ์‹œ {/*invalid*/}
1616

0 commit comments

Comments
ย (0)