'TransitionStatus' ํ์์ ์์ '{ entering: { opacity: number; }; entered: { opacity: number; }; exiting: { opacity: number; }; exited: { opacity: number; }; }' ์ธ๋ฑ์ค ํ์์ ์ฌ์ฉํ ์ ์์ผ๋ฏ๋ก ์์์ ์์์ ์ผ๋ก 'any' ํ์์ด ์์ต๋๋ค.
'{ entering: { opacity: number; }; entered: { opacity: number; }; exiting: { opacity: number; }; exited: { opacity: number; }; }' ํ์์ 'unmounted' ์์ฑ์ด ์์ต๋๋ค.ts(7053)
ํ์ด์ง ์ ํ ์ ํ์ด๋์ธ/ํ์ด๋์์ ํจ๊ณผ๋ฅผ ์ฃผ๋ Fade ์ปดํฌ๋ํธ ์์ฑ ์ค,
์ด๋ฐ ์๋ฌ๊ฐ ๋ด์ต๋๋ค
๋ฌธ์ ์ ์ฝ๋๋ ์๋...
์ ํ ํจ๊ณผ ์ ๋๋ฉ์ด์ ์ํ ์ํ๋ฅผ ์ ์ํ๋ ์ปดํฌ๋ํธ์.
const transitionStyles = {
entering: { opacity: 1 },
entered: { opacity: 1 },
exiting: { opacity: 0 },
exited: { opacity: 0 },
};
์ด๊ฑธ ์ฌ์ฉํ๋ ์๋ ์ฝ๋์์ ์๋ฌ๊ฐ ๋ฐ์ํ์๋ค.
<div
style={{
...defaultStyle,
...transitionStyles[state], // error
}}
>
์์นํด๋ณด๋ ๊ฐ์ฒด ์ ๊ทผ ์ ํ์ ์ ์ธ์๋ชปํด์ ์๊ธฐ๋ ํ์ ์คํฌ๋ฆฝํธ ์๋ฌ๋ผ๊ณ ํ๋ค.
์ธ๋ฑ์ค ์๊ทธ๋์ฒ..? ์ฐ๋ฉด ๋๋ค๋๋ฐ ์ฌ์ค ๋ญ์ง ์ ๋ชจ๋ฅด๊ฒ ์
๊ทธ๋์ ์ผ๋จ ๋ญ๊ฐ ๋๋ ๊ฐ์, ์ด๋ค ํ์ ์ด๋ ์๊ด์์ผ๋ ์์์ ๋ฐ์๋จน์ด๋ผ! ๋ผ๋ ์๋ฏธ๋ก ํค๊ฐ ํ์ ์ any๋ก ์ ์ธํด์ฃผ๋ฉด ๋๋ค.
const transitionStyles: { [key: string]: any } = {
entering: { opacity: 1 },
entered: { opacity: 1 },
exiting: { opacity: 0 },
exited: { opacity: 0 },
};
์์ธํ ์ค๋ช ์ ์๋ ๋ธ๋ก๊ทธ์์ ๋ณผ ์ ์๋ค.
ํฐ ๋์์ด ๋์์ ๐ ๐
ํ์ ์คํฌ๋ฆฝํธ ์๋ฌ) Element implicitly has an 'any' type because expression of type 'string' can't be used to index type
โ ๊ฒฝ์ถ ๐๏ธ25์๊ฐ๋ง์ ์๋ฌ ํด๊ฒฐ ใ ใ ใ ใ ํ์ ์คํฌ๋ฆฝํธ + ๋ฆฌ์กํธ ํ๋ก์ ํธ๋ฅผ ํ๋ ์ค ๋ฒํผ ๊ณตํต์ปดํฌ๋ํธ๋ฅผ ๋ง๋ค๋ฉด์ ํ์ ์คํฌ๋ฆฝํธ์์ ์๋ฌ๊ฐ ๋ฌ๋ค... ํ์ ์คํฌ๋ฆฝํธ๋ฅผ ์์ผ๋ค๋ฉด ๊ธ๋ฐฉ ๋ง๋ค์
ella951230.tistory.com