> 웹 프론트엔드 > JS 튜토리얼 > React의 새로운 기능과 코드 예제 살펴보기

React의 새로운 기능과 코드 예제 살펴보기

DDD
풀어 주다: 2025-01-02 15:30:40
원래의
324명이 탐색했습니다.

Exploring React  New Features and Code Examples

React 19가 출시되었습니다. 여기에는 개발자 경험과 애플리케이션 성능 향상을 위한 기능이 가득합니다. 코드 최적화부터 강력하고 새로운 후크 도입까지, React 19는 최신 웹 애플리케이션 구축을 위한 라이브러리로서의 입지를 계속 확고히 하고 있습니다. 주요 기능을 살펴보고 실용적인 코드 예제를 통해 개발 프로세스를 혁신할 수 있는 방법을 살펴보겠습니다.


React 19의 주요 기능

1. 리액트 컴파일러

새로운 React Compiler는 코드를 매우 효율적인 JavaScript로 변환하여 코드를 단순화하고 최적화합니다. 이를 통해 메모 작성과 같은 수동 성능 조정이 필요하지 않으므로 개발자는 성능을 미세 조정하는 대신 기능 구축에 집중할 수 있습니다.

예:

// Before: Manual optimization with useCallback
const MemoizedComponent = React.useCallback(() => {
  return <div>Optimized!</div>;
}, []);

// After: Automatically optimized
function Component() {
  return <div>Optimized!</div>;
}
로그인 후 복사

2. 서버 구성 요소

React 19의 서버 구성 요소는 서버에서 구성 요소를 렌더링하여 클라이언트로 전송되는 JavaScript의 양을 줄입니다. 이를 통해 성능이 향상되고 페이지 로드 속도가 빨라집니다.

예:

// ServerComponent.server.jsx
export default function ServerComponent() {
  return <div>This is rendered on the server.</div>;
}

// App.jsx
import ServerComponent from './ServerComponent.server';

function App() {
  return (
    <div>
      <h1>Welcome to React 19</h1>
      <ServerComponent />
    </div>
  );
}
로그인 후 복사

3. 행동

작업을 통해 상태 업데이트 및 오류 처리가 단순화됩니다. "use action" 지시문으로 함수를 표시함으로써 React는 보류 상태, 오류 및 낙관적 업데이트를 자동으로 관리합니다.

예:

function UpdateName() {
  const [name, setName] = useState('');

  const handleSubmit = async () => {
    'use action';
    await updateName(name);
  };

  return (
    <form onSubmit={handleSubmit}>
      <input type="text" value={name} onChange={(e) => setName(e.target.value)} />
      <button type="submit">Submit</button>
    </form>
  );
}
로그인 후 복사

4. 새로운 후크: use(), useFormStatus() 및 useOptimistic()

데이터 가져오기를 위해 use()

use() 후크를 사용하면 개발자가 구성 요소 내에서 Promise를 직접 처리할 수 있습니다.

예:

function DataFetchingComponent() {
  const data = use(fetchData());

  return (
    <div>
      <h1>Data:</h1>
      <pre class="brush:php;toolbar:false">{JSON.stringify(data, null, 2)}
); }
로그인 후 복사

양식 관리를 위한 useFormStatus()

제출 상태 및 오류에 대한 실시간 피드백으로 양식 상태 관리를 단순화합니다.

예:

function FormComponent() {
  const { isSubmitting, error } = useFormStatus();

  return (
    <form>
      <button type="submit" disabled={isSubmitting}>Submit</button>
      {error && <p>Error: {error.message}</p>}
    </form>
  );
}
로그인 후 복사

낙관적 UI 업데이트를 위한 useOptimistic()

useOptimistic() 후크를 사용하면 낙관적 업데이트 구현이 간단해집니다.

예:

function OptimisticUpdateComponent() {
  const [items, setItems] = useState(initialItems);
  const [optimisticItems, addItem] = useOptimistic(items, async (newItem) => {
    await apiAddItem(newItem);
    return [...items, newItem];
  });

  return (
    <ul>
      {optimisticItems.map((item) => (
        <li key={item.id}>{item.name}</li>
      ))}
      <button onClick={() => addItem({ id: Date.now(), name: 'New Item' })}>
        Add Item
      </button>
    </ul>
  );
}
로그인 후 복사

5. 지시문: '클라이언트 사용' 및 '서버 사용'

파일 수준 지시어는 구성 요소가 클라이언트에서 렌더링되어야 하는지 서버에서 렌더링되어야 하는지 명시적으로 정의하므로 렌더링 논리를 더 쉽게 관리할 수 있습니다.

예:

// ClientComponent.jsx
'use client';

export default function ClientComponent() {
  return <div>This component is rendered on the client.</div>;
}

// ServerComponent.jsx
'use server';

export default function ServerComponent() {
  return <div>This component is rendered on the server.</div>;
}
로그인 후 복사

React 19의 실제 이점

향상된 성능

React 컴파일러 및 서버 구성 요소와 같은 기능은 클라이언트로 전송되는 JavaScript의 양을 최소화하여 로드 시간을 단축하고 사용자 경험을 향상시킵니다.

단순화된 코드베이스

새로운 후크와 액션으로 상용구 코드가 줄어들어 애플리케이션을 더 쉽게 유지 관리하고 확장할 수 있습니다.

향상된 개발자 생산성

useOptimistic() 및 use()와 같은 도구를 사용하면 개발자는 복잡한 상태 관리 또는 비동기 작업을 수동으로 처리하는 대신 기능 구축에 집중할 수 있습니다.


결론

React 19는 웹 개발에 있어 중요한 진전입니다. 이 기능은 성능, 확장성 및 개발자 경험을 우선시하므로 강력한 애플리케이션을 그 어느 때보다 쉽게 ​​구축할 수 있습니다. 노련한 React 개발자이든 이제 막 시작하는 개발자이든 관계없이 이러한 업데이트는 프로젝트에 탐색하고 통합할 가치가 있습니다.

React 19가 기대되나요? 아래 댓글로 여러분의 생각과 경험을 공유해 주세요!

위 내용은 React의 새로운 기능과 코드 예제 살펴보기의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿