728x90
๋ฐ˜์‘ํ˜•

eslint 3

ESLint: Expected an assignment or function call and instead saw an expression

์—๋Ÿฌ ๋ฐœ์ƒ ์ฝ”๋“œ type ? (ref.current.style.marginTop = '0vh') : (ref.current.style.marginTop = '4vh'); type ๋”ฐ๋ผ์„œ marginTop์„ ์ปจํŠธ๋กคํ•˜๊ฒŒ ํ–ˆ๋Š”๋ฐ, ESLint: Expected an assignment or function call and instead saw an expression ํ•ด๋‹น ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ์ฝ”๋“œ if (type) ref.current.style.marginTop = '0vh'; else ref.current.style.marginTop = '4vh'; ์‚ผํ•ญ์—ฐ์‚ฐ์ž๊ฐ€ ์•„๋‹Œ if๋ฌธ์œผ๋กœ ํ•ด๊ฒฐํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์›๋ž˜ ์œ„์— if๋ฌธ์œผ๋กœ ์กฐ๊ฑด์ด ์ถ”๊ฐ€๋กœ ์žˆ์—ˆ๋Š”๋ฐ, ์•„๋งˆ ๊ทธ๊ฑฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ด์ง€ ์•Š์„๊นŒ ์‹ถ์Šต๋‹ˆ๋‹ค.

ESLint: Expected to return a value at the end of arrow function.(consistent-return)

ESLint์— ์˜ํ•ด ๋ฐœ์ƒํ•œ ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ useEffect(() => { if (!response) { return setLoading(false); } api(); ... } useEffect ํ›…์—์„œ return setState๋ฅผ ์คฌ๋”๋‹ˆ ํ•จ์ˆ˜ ์ž์ฒด์—์„œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ณต์‹ ๋ฌธ์„œ ์ฐพ์•„๋ณด๋‹ˆ, ํ•ด๋‹น ๋ฌธ์ œ์˜ ๋ฐœ์ƒ์›์ธ์€ ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค return ๋ฌธ์€ ์ข…๋ฃŒํ•˜๊ธฐ ์ „์— ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (it does not execute a return statement before it exits) ๊ฐ’์„ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•˜์ง€ ์•Š์€ return๋ฌธ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (it executes return which does not specify a value explicitly) ์ •์˜๋˜์ง€ ์•Š์€ return์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. (it ..

ESLint: A control must be associated with a text label.(jsx-a11y/control-has-associated-label)

ํ•ด๋‹น ์—๋Ÿฌ๋Š” ESLint ์„ค์ •์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. (์ €๋Š” Ariabnb๋ฅผ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.) ์—๋Ÿฌ๊ฐ€ ๋ฐœ๊ฒฌํ•œ ๊ณณ์€ button ํƒœ๊ทธ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ ๋ฒ„ํŠผํƒœ๊ทธ ์•ˆ์—๋Š” ๋‚ด์šฉ์ด ์—†๊ณ , className์— ์žˆ๋Š” ์ด๋ฏธ์ง€๋กœ ๋ฒ„ํŠผ์„ ๋Œ€์ฒดํ•˜๋„๋ก ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ๋  ๊ฒฝ์šฐ, ๋ฒ„ํŠผ์— ๋Œ€ํ•œ ์„ค๋ช…? ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•˜๋Š” ์—๋Ÿฌ๋กœ ๋ณด์ž…๋‹ˆ๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ์•ˆ aria-label ์†์„ฑ์„ ์ถ”๊ฐ€ํ•ด์„œ ๊ฐ„๋‹จํ•˜๊ฒŒ ์–ด๋–ค ๋ฒ„ํŠผ์ธ์ง€ ๋„ฃ์–ด์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ์•„๋ž˜ ๊นƒํ—ˆ๋ธŒ์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ฒ˜๋Ÿผ eslint์„ค์ •์— ignoreElements๋ฅผ ์ถ”๊ฐ€ํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. https://github.com/jsx-eslint/eslint-plugin-jsx-a11y/blob/main/docs/rules/control-has-associated-label..

728x90
๋ฐ˜์‘ํ˜•