Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon React 19는 이전 버전과 다른 사용자 정의 요소를 어떻게 지원합니까?


React 19는 이전 버전과 다른 사용자 정의 요소를 어떻게 지원합니까?


React 19는 이전 버전과 비교하여 사용자 지정 요소를 지원하기위한 상당한 향상을 도입하며, 주로 렌더링 중에 소품을 관리하는 방식에 중점을 둡니다. 주요 차이점은 다음과 같습니다.

강화 된 소품 처리

1. 속성 및 속성 분리 : React 19에서는 사용자 정의 요소 인스턴스의 속성에 해당하는 소품이 클라이언트 측 렌더링 중에 속성으로 할당됩니다. 소품이 원시 유형 인 경우 (`string`,`숫자 '또는'true '), 속성으로 렌더링됩니다. 비 프리맨 유형 (`객체 ',`symplic'또는`function ')는 렌더링에서 제외됩니다. 이 접근법은 사용자 지정 요소와보다 직관적 인 상호 작용을 허용하며, 일반적으로 기능하도록 설계된 방식과 일치합니다 [3] [4].

2. SSR (Server-Side Rendering) 개선 : SSR 중에 동일한 논리가 적용됩니다. 원시 소품은 속성으로 렌더링되며 비-프리맨 유형은 생략됩니다. 이를 통해 서버 렌더링 된 출력이 클라이언트가 기대하는 것과 일치하여 수화 중에 잠재적 인 불일치가 줄어 듭니다 [4] [5].

3. 스코어링 된 맞춤형 요소 레지스트리 : React 19는 스코프 커스운 요소 레지스트리를 지원하므로 개발자가 마이크로 프론트 아키텍처에서 사용자 정의 요소를보다 효과적으로 관리 할 수 ​​있습니다. 이 기능은 여러 응용 프로그램이 동일한 사용자 정의 요소의 다른 버전에 의존하여 모듈성과 호환성을 향상시킬 때 버전 충돌을 방지합니다 [2].

4. 개선 된 성능 메트릭 : React 19는 벤치 마크의 모든 사용자 정의 요소에서 100% 점수를 얻었으며 이전 버전에 비해 크게 개선되었습니다. 이는 웹 구성 요소와의 성능과 호환성이 향상되어 React의 사용자 정의 요소 처리에 관한 과거의 비판을 다루고 있습니다 [5].

React 19의 이러한 향상은 사용자 정의 요소를 React Applications에 통합 할뿐만 아니라 전반적인 성능 및 개발자 경험을 향상시켜 REACT 컨텍스트에서 웹 구성 요소를보다 쉽게 ​​작업 할 수 있도록합니다.

인용 :
[1] https://github.com/facebook/react/issues/11347
[2] https://github.com/facebook/react/issues/28938
[3] https://www.angularminds.com/blog/react-19-beta-features
[4] https://react.dev/blog/2024/04/25/react-19
[5] https://piccalil.li/blog/upcoming-custom-element-support-in-react/
[6] https://www.bacancytechnology.com/blog/whats-new-in-react-19
[7] https://eluminoustechnologies.com/blog/react-19/
[8] https://www.geeksforgeeks.org/react-19-new-features-and-updates/