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/