paint-brush
React 19의 새로운 기능: 알아야 할 사항by@suniljoshi
481
481

React 19의 새로운 기능: 알아야 할 사항

Sunil Joshi5m2024/07/16
Read on Terminal Reader

React19에는 React Compiler라는 새로운 도우미가 추가되었습니다. 추가 작업을 하지 않고도 코드가 더 빠르게 작동하도록 도와주는 똑똑한 코드 컴파일 친구와 같습니다. RSC는 서버에서 구성 요소를 사전 렌더링함으로써 페이지 속도 시간을 자동으로 향상시킬 수 있습니다.
featured image - React 19의 새로운 기능: 알아야 할 사항
Sunil Joshi HackerNoon profile picture

React ⚛️는 오늘날 프런트엔드 개발 분야에서 가장 유명한 UI 라이브러리입니다 .


React 경쟁에서 앞서 나가려는 개발자에게는 새로운 React 19 기능을 이해하는 것이 필수적입니다.


기능 개요

  • ⚛️React 컴파일러
  • 🗄️ 서버 구성 요소 🖥
  • 🔄자동 일괄 처리📦
  • 🗒️SEO 메타데이터
  • 📈Suspense를 통해 향상된 데이터 가져오기
  • 💼 자산 로드 중
  • 🪝 향상된 후크


React 19의 혁명은 흥미롭고 흥미롭습니다. 지금 읽어보자!

⚛️ 리액트 컴파일러 ⚛️

React19에는 React Compiler💡라는 새로운 도우미가 추가되었습니다. 추가 작업을 하지 않고도 코드가 더 빠르게 작동하도록 도와주는 똑똑한 코드 컴파일 친구와 같습니다. 이는 웹 사이트를 만드는 사람들이 더 간단한 코드를 작성할 수 있고 컴파일러는 해당 코드가 정말 잘 실행되도록 보장한다는 것을 의미합니다. 마치 당신을 위해 방을 청소하고 정리해주는 슈퍼 스마트 어시스턴트를 갖는 것과 같아서, 당신은 React를 가지고 놀고 즐기는 데 집중할 수 있습니다!

🗄️ 서버 구성요소 🖥

React19에는 강력한 "🖥서버 구성 요소"가 제공됩니다.


이는 사용자가 요청하기도 전에 일부 작업을 수행하는 스마트 렌더링 도구를 갖는 것과 같습니다!


React19는 클라이언트 측 앱이나 기존 서버 측 렌더링(SSR) 설정과 별도로 서버에서 UI 구성 요소를 렌더링합니다. RSC는 서버에서 구성 요소를 사전 렌더링함으로써 페이지 속도 시간을 자동으로 향상시킬 수 있습니다.


즉, 웹사이트를 열면 사진과 단어가 훨씬 빠르게 표시됩니다. 이는 멋진 내용이 많이 포함된 웹사이트에 특히 유용합니다. 가장 좋은 점은 이러한 서버 구성 요소가 웹 사이트의 요구 사항에 따라 다양한 방식으로 작동할 수 있다는 것입니다.


코드 예: 서버 구성요소


// ServerComponent.server.js

export default function ServerComponent() {

return <div>Hello from the server!</div>;

}


// App.client.js

import React from 'react';

import { createRoot } from 'react-dom/client';

import ServerComponent from './ServerComponent.server';


function App() {

return (

<div>

<ServerComponent />

</div>

);

}


const root = createRoot(document.getElementById('root'));

root.render(<App />);


따라서 서버 구성 요소를 사용하면 웹 사이트가 매우 빠르게 로드되므로 대기 시간이 줄어들고 속도가 빨라집니다!

React UI 구축에 시간을 낭비하지 마세요:


지금 Monster React 대시보드 템플릿을 확인해보세요!

🔄자동 일괄 처리📦

React 19에는 이벤트 핸들러 내부의 모든 업데이트에 대한 자동 일괄 처리가 도입되었습니다. 즉, 단일 이벤트 핸들러 내의 여러 상태 업데이트가 이제 자동으로 일괄 처리되어 다시 렌더링되는 횟수가 줄어들고 성능이 향상됩니다.


코드 예: 자동 일괄 처리


import React, { useState } from 'react';

import { createRoot } from 'react-dom/client';


function App() {

const [count, setCount] = useState(0);

const [text, setText] = useState('');


const handleClick = () => {

setCount(count + 1);

setText('Updated text');

};


return (

<div>

<button onClick={handleClick}>Update</button>

<div>Count: {count}</div>

<div>Text: {text}</div>

</div>

);

}


🗒️SEO 메타데이터 📝

React 19는 이제 인터넷에서 웹사이트를 찾는 데 도움이 되는 AutoSEO 기능입니다! 이제 React는 SEO에 민감한 요소를 단순화하고 React 애플리케이션 내에서 직접 제목, 설명 및 기타 SEO 관련 요소를 쉽게 제어할 수 있습니다. 이렇게 하면 누군가가 인터넷에서 무언가를 찾을 때 올바른 웹사이트를 더 빨리 찾을 수 있습니다.

📈Suspense를 통해 향상된 데이터 가져오기

React 19는 Suspense 기능을 기반으로 데이터 가져오기를 더 쉽고 직관적으로 만듭니다. 새로운 데이터 가져오기 기능을 사용하면 이제 구성 요소 내에서 비동기 작업을 보다 원활하게 처리할 수 있습니다.

코드 예: Suspense를 사용한 데이터 가져오기

import React, { Suspense } from 'react';

import { createRoot } from 'react-dom/client';

const fetchData = () => {

return new Promise(resolve => {

setTimeout(() => {

resolve('Data fetched from server');

}, 2000);

});

};

const DataComponent = React.lazy(async () => {

const data = await fetchData();

return {

default: () => <div>{data}</div>

};

});

function App() {

return (

<div>

<Suspense fallback={<div>Loading...</div>}>

<DataComponent />

</Suspense>

</div>

);

}

const root = createRoot(document.getElementById('root'));

root.render(<App />);

💼 자산 로드 중

React 19에는 자산이 백그라운드에서 자동으로 로드되는 기능이 있어 웹사이트가 더 빠르게 작동하고 더 보기 좋게 보입니다!


현재 페이지를 계속 보고 있는 동안 다음 페이지의 사진 및 기타 항목을 로드하기 시작합니다. 즉, 새 페이지로 이동하기 위해 클릭하면 매우 빠르게 표시됩니다!


웹사이트가 처음 로드될 때 순간적으로 이상해 보이는 것을 본 적이 있습니까? 단어가 잘못된 위치에 있거나 색상이 모두 뒤섞여 있는 것처럼요? React 19에서는 이 문제도 해결되었습니다. 그것은 당신에게 보여주기 전에 모든 것이 제대로 보이는지 확인합니다.
코드 예: 동시 렌더링


import React, { useState, Suspense } from 'react';

import { createRoot } from 'react-dom/client';


const SlowComponent = React.lazy(() => import('./SlowComponent'));


function App() {

const [show, setShow] = useState(false);


return (

<div>

<button onClick={() => setShow(true)}>Show Slow Component</button>

<Suspense fallback={<div>Loading...</div>}>

{show && <SlowComponent />}

</Suspense>

</div>

);

}


const root = createRoot(document.getElementById('root'));

root.render(<App />);


이렇게 하면 웹 사이트를 사용하는 동안 사용자를 방해하지 않고 백그라운드에서 콘텐츠를 로드할 수 있습니다. 중요한 것에 집중하세요.


기능이 풍부한 React 앱 구축 머티리얼PRO



후크

React 19에는 이벤트 및 낙관적 UI 업데이트를 보다 효과적으로 관리하는 데 도움이 되는 새로운 후크가 도입되었습니다. useEvent 후크는 이벤트 리스너를 처리하는 더 간단한 방법을 제공하는 반면, useOptimistic 후크는 낙관적 UI 상태를 관리하는 데 도움이 됩니다.


코드 예: useEvent 후크


import React, { useEvent } from 'react';

import { createRoot } from 'react-dom/client';


function App() {

const handleClick = useEvent(() => {

console.log('Button clicked!');

});


return (

<div>

<button onClick={handleClick}>Click Me</button>

</div>

);

}


const root = createRoot(document.getElementById('root'));

root.render(<App />);


코드 예: useOptimistic Hook


import React, { useOptimistic } from 'react';

import { createRoot } from 'react-dom/client';


function App() {

const [optimisticState, setOptimisticState] = useOptimistic(0);


const handleClick = () => {

setOptimisticState((prevState) => prevState + 1);

};


return (

<div>

<button onClick={handleClick}>Increment</button>

<div>Optimistic Count: {optimisticState}</div>

</div>

);

}


const root = createRoot(document.getElementById('root'));

root.render(<App />);


🌟 요약 “ 놓치지 마세요! “

우리는 이 기사에서 많은 것에 대해 이야기했습니다.


React 19의 다음 버전에 추가될 멋진 새 기능을 빠르게 살펴보겠습니다.


React 19는 반응성이 뛰어나고 효율적이며 확장 가능한 애플리케이션을 그 어느 때보다 쉽게 구축할 수 있는 다양한 새로운 기능과 개선 사항을 제공합니다. 동시 렌더링 향상부터 useEvent 및 useOptimistic과 같은 새로운 후크에 이르기까지 이러한 업데이트는 React 개발자에게 강력한 도구를 제공합니다. 프로젝트에서 이러한 새로운 기능을 실험하고 React 생태계의 최신 발전을 활용해 보세요.


Modernize를 사용하여 최신 React 앱을 더 빠르게 구축하세요.


더 많은 업데이트를 기대해 주세요. 즐거운 코딩 생활을 보내시기 바랍니다. </>


이전에 https://blog.wrappixel.com/react-19-whats-new-features/ 에 게시되었습니다.