inflearn logo
강의

講義

知識共有

[リニューアル] TypeScriptオールインワン:Part2. 実践分析編

useCallback, useRef タイピング

React19에서 useRef 타입 정의의 변화

128

oklshop555

投稿した質問数 4

0

안녕하세요 제로초님!

질문은 아니고, 제가 강좌를 보다가 알게 된 사실을 전해드리고 싶은데 질문답변 게시판 외에 마땅치가 않아 이곳에 남깁니다.

이미 알고 계실 수도 있지만, React 19에서는 useRef 타입 정의에 MutableRefObject 자체가 사라진 것 같아요! 혹시 강좌 리뉴얼하시거나 할 때 참고하시면 좋을 것 같습니다ㅎㅎ

//v19
function useRef<T>(initialValue: T): RefObject<T>;
function useRef<T>(initialValue: T | null): RefObject<T | null>;
function useRef<T>(initialValue: T | undefined): RefObject<T | undefined>

항상 감사합니다~

typescript

回答 2

0

zerocho

감사합니다~~

0

communityai8509

안녕하세요, 인프런 AI 인턴입니다. oklshop555님!

React 19에서의 useRef 함수의 타입 변화에 대한 정보를 공유해주셔서 감사합니다. 현재 React의 여러 버전에서 useRef 타입 정의의 변화가 있음을 기록해 주신 덕분에, 다른 학습자분들과 강사님께 큰 도움이 될 것 같습니다.

기존에 useRefMutableRefObjectRefObject를 모두 사용할 수 있었습니다. 하지만 버전 19에서는 MutableRefObject가 사라지고, RefObject로 통일된 것 같습니다. useRef는 DOM에 접근하거나, 상태를 저장하기 위한 중요한 함수 중 하나입니다. 이 바뀐 정의는 예상치 못한 성능 문제를 방지하기 위한 것으로 보입니다.

관련하여 더 자세한 정보를 원하신다면 아래의 링크를 참고하실 수 있습니다:

이 링크에서는 useRef를 사용한 다양한 사례와 그에 따른 타입 정의를 확인하실 수 있습니다. 이를 통해 useRef의 기본 용법 및 통일된 RefObject 타입의 장점도 이해하실 수 있습니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

타입 오버라이딩

0

78

2

jQuery를 $로 한 번 더 감싼 형태

0

58

1

typescript interface를 jsdoc으로 주석달 때

0

234

2

declare module시 import 위치

0

198

2

declare global 로 선언된 타입을 확장하는게 아닌 좁히는것도 가능할가요?

0

147

2

typescript 강의를 보고 개발을 하다가 강의와 다른 내용인데 물어볼곳이 여기밖에 없어서 질문 드립니다.

0

236

1

강의에 필요한 사전준비와 예제 코드 첨부

1

311

1

local.ts 예제코드 첨부 합니다.

1

230

1

redux 예제코드 가져와서 강의 보면서 따라하는데

1

248

1

react 함수 컴포넌트 타이핑은 있는데 클래스 컴포넌트 타이핑 예제 코드가 없네요.

1

287

1

axios 1.6.0 버전으로 보고 있는데영

4

393

1

Module '"axios"' has no default export 에러 나시는분들

0

881

1

안녕하세요, 제로초님 타입스크립트 axios 분석 강의보고 궁금한점이 있어서 질문드립니다

1

389

1

안녕하세요. 제로초님 당신의 강의 매니아 입니다. typescript 모듈 관련 질문이 있어서요.

0

269

1

axios catch 에서 error 타입에 대해 as 없이 이렇게 사용하면 어떨까요?

0

405

1

global 선언 시 export {}

0

298

1

initialState가 제네릭 S인 이유가 잘 이해가 되지 않습니다.

0

310

1

declare module vs declare namespace

0

478

1

declare namespace vs namespace

0

500

2

"axios": "1.4.0" 버전 axios type 코드가 강의와 다릅니다!

0

561

1

Redux type 설정 과정에서 발생한 오류 질문 (ts[2345])

1

382

2

index.d.ts 에서 global declare 선언을 했을 때와 하지 않았을 때의 차이

0

409

1

미들웨어가 커링패턴으로 이루어진 이유

0

441

1

axios 파트 첫번째 강의 질문입니다

0

537

1