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-метаданные
  • 📈Улучшенная выборка данных с помощью приостановки
  • 💼 Загрузка активов
  • 🪝 Улучшенные крючки


Революция React 19 захватывающая и интересная. Давайте читать сейчас!

⚛️Компилятор React ⚛️

React19 получает нового помощника под названием React Compiler 💡. Это как умный друг-компилятор кода, который ускоряет работу вашего кода без необходимости выполнять дополнительную работу. Это означает, что люди, создающие веб-сайты, могут писать более простой код, а компилятор позаботится о том, чтобы он работал очень хорошо. Это похоже на сверхумного помощника, который убирает и наводит порядок в вашей комнате, чтобы вы могли сосредоточиться на игре и развлечениях с React !

🗄️ Серверные компоненты 🖥

React19 обладает суперсилой «🖥Серверные компоненты».


Это похоже на умный инструмент рендеринга, который выполняет часть работы еще до того, как вы об этом попросите!


React19 отображает компоненты пользовательского интерфейса на сервере отдельно от вашего клиентского приложения или традиционной настройки рендеринга на стороне сервера (SSR). Путем предварительной визуализации компонентов на сервере 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:


Ознакомьтесь с шаблоном информационной панели 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, и вы можете легко управлять заголовками, описаниями и другими элементами, важными для SEO, непосредственно в вашем приложении React. Таким образом, когда кто-то ищет что-то в Интернете, он сможет быстрее найти нужные веб-сайты.

📈Улучшенная выборка данных с помощью приостановки

В React 19 используется функция приостановки, которая делает извлечение данных более простым и интуитивно понятным. Благодаря новым возможностям извлечения данных вы теперь можете более изящно обрабатывать асинхронные операции внутри своих компонентов.

Пример кода: получение данных с приостановкой

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 представлены новые хуки, помогающие более эффективно управлять событиями и оптимистичными обновлениями пользовательского интерфейса. Перехват useEvent обеспечивает более простой способ обработки прослушивателей событий, а перехват useOptimistic помогает управлять оптимистичными состояниями пользовательского интерфейса.


Пример кода: хук 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 />);


Пример кода: используйтеOptimistic 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.


Создавайте современные приложения React быстрее с помощью Modernize .


Следите за обновлениями и удачного </> кодирования!


Ранее опубликовано на https://blog.wrappixel.com/react-19-whats-new-features/.