๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽฎ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/๐Ÿ‘ฉ‍๐Ÿ’ป ๊ฐœ๋ฐœ ๊ณต๋ถ€

[React/Typescript] error 'TransitionStatus' ํ˜•์‹์˜ ์‹์„ ~ ์ธ๋ฑ์Šค ํ˜•์‹์— ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์œผ๋ฏ€๋กœ ์š”์†Œ์— ์•”์‹œ์ ์œผ๋กœ 'any' ํ˜•์‹์ด ์žˆ์Šต๋‹ˆ๋‹ค.

by xxilliant 2023. 4. 29.
728x90
๋ฐ˜์‘ํ˜•

 

'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 },
};

ํ•ด๊ฒฐ์™„๋ฃŒ!

 

์ž์„ธํ•œ ์„ค๋ช…์€ ์•„๋ž˜ ๋ธ”๋กœ๊ทธ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

ํฐ ๋„์›€์ด ๋˜์—ˆ์Œ ๐Ÿ™ ๐Ÿ™

 

https://ella951230.tistory.com/entry/%ED%83%80%EC%9E%85%EC%8A%A4%ED%81%AC%EB%A6%BD%ED%8A%B8-%EC%97%90%EB%9F%AC-Type-undefined-cannot-be-used-as-an-index-type

 

ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์—๋Ÿฌ) Element implicitly has an 'any' type because expression of type 'string' can't be used to index type

โœ…๊ฒฝ์ถ• ๐ŸŒ๏ธ25์‹œ๊ฐ„๋งŒ์— ์—๋Ÿฌ ํ•ด๊ฒฐ ใ… ใ… ใ… ใ…  ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ + ๋ฆฌ์•กํŠธ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋˜ ์ค‘ ๋ฒ„ํŠผ ๊ณตํ†ต์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๋ฉด์„œ ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์—์„œ ์—๋Ÿฌ๊ฐ€ ๋‚ฌ๋‹ค... ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ๋ฅผ ์•ˆ์ผ๋‹ค๋ฉด ๊ธˆ๋ฐฉ ๋งŒ๋“ค์—ˆ

ella951230.tistory.com

 

728x90
๋ฐ˜์‘ํ˜•