From 7e74bada56f09438187f4dab23745a6f987c5acc Mon Sep 17 00:00:00 2001 From: Nivaldo Farias Date: Mon, 20 Jan 2025 11:12:38 -0300 Subject: [PATCH 1/5] Translate `react-19.md` to pt-br --- src/content/blog/2024/04/25/react-19.md | 439 ++++++++++++------------ 1 file changed, 216 insertions(+), 223 deletions(-) diff --git a/src/content/blog/2024/04/25/react-19.md b/src/content/blog/2024/04/25/react-19.md index 1ccffa1c8..7f2072614 100644 --- a/src/content/blog/2024/04/25/react-19.md +++ b/src/content/blog/2024/04/25/react-19.md @@ -2,45 +2,45 @@ title: "React 19 Beta" author: The React Team date: 2024/04/25 -description: React 19 Beta is now available on npm! In this post, we'll give an overview of the new features in React 19, and how you can adopt them. +description: React 19 Beta agora está disponível no npm! Neste post, faremos uma visão geral das novas funcionalidades no React 19 e como você pode adotá-las. --- -April 25, 2024 by [The React Team](/community/team) +25 de abril de 2024 por [The React Team](/community/team) --- -This beta release is for libraries to prepare for React 19. App developers should upgrade to 18.3.0 and wait for React 19 stable as we work with libraries and make changes based on feedback. +Esta versão beta é para bibliotecas se prepararem para o React 19. Desenvolvedores de aplicativos devem atualizar para 18.3.0 e aguardar o React 19 estável enquanto trabalhamos com bibliotecas e fazemos mudanças com base no feedback. -React 19 Beta is now available on npm! +React 19 Beta agora está disponível no npm! -In our [React 19 Beta Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide), we shared step-by-step instructions for upgrading your app to React 19 Beta. In this post, we'll give an overview of the new features in React 19, and how you can adopt them. +No nosso [Guia de Atualização do React 19 Beta](/blog/2024/04/25/react-19-upgrade-guide), compartilhamos instruções passo a passo para atualizar seu aplicativo para o React 19 Beta. Neste post, faremos uma visão geral das novas funcionalidades no React 19 e como você pode adotá-las. -- [What's new in React 19](#whats-new-in-react-19) -- [Improvements in React 19](#improvements-in-react-19) -- [How to upgrade](#how-to-upgrade) +- [O que há de novo no React 19](#whats-new-in-react-19) +- [Melhorias no React 19](#improvements-in-react-19) +- [Como atualizar](#how-to-upgrade) -For a list of breaking changes, see the [Upgrade Guide](/blog/2024/04/25/react-19-upgrade-guide). +Para uma lista de mudanças significativas, veja o [Guia de Atualização](/blog/2024/04/25/react-19-upgrade-guide). --- -## What's new in React 19 {/*whats-new-in-react-19*/} +## O que há de novo no React 19 {/*whats-new-in-react-19*/} -### Actions {/*actions*/} +### Ações {/*actions*/} -A common use case in React apps is to perform a data mutation and then update state in response. For example, when a user submits a form to change their name, you will make an API request, and then handle the response. In the past, you would need to handle pending states, errors, optimistic updates, and sequential requests manually. +Um caso de uso comum em aplicativos React é executar uma mutação de dados e, em seguida, atualizar o estado em resposta. Por exemplo, quando um usuário envia um formulário para alterar seu nome, você fará uma solicitação de API e, em seguida, lidará com a resposta. No passado, você precisaria lidar manualmente com estados pendentes, erros, atualizações otimistas e solicitações sequenciais. -For example, you could handle the pending and error state in `useState`: +Por exemplo, você poderia lidar com o estado pendente e o erro em `useState`: ```js -// Before Actions +// Antes das Ações function UpdateName({}) { const [name, setName] = useState(""); const [error, setError] = useState(null); @@ -61,7 +61,7 @@ function UpdateName({}) {
setName(event.target.value)} /> {error &&

{error}

}
@@ -69,12 +69,12 @@ function UpdateName({}) { } ``` -In React 19, we're adding support for using async functions in transitions to handle pending states, errors, forms, and optimistic updates automatically. +No React 19, estamos adicionando suporte ao uso de funções assíncronas em transições para lidar automaticamente com estados pendentes, erros, formulários e atualizações otimistas. -For example, you can use `useTransition` to handle the pending state for you: +Por exemplo, você pode usar `useTransition` para lidar com o estado pendente para você: ```js -// Using pending state from Actions +// Usando estado pendente das Ações function UpdateName({}) { const [name, setName] = useState(""); const [error, setError] = useState(null); @@ -95,7 +95,7 @@ function UpdateName({}) {
setName(event.target.value)} /> {error &&

{error}

}
@@ -103,27 +103,27 @@ function UpdateName({}) { } ``` -The async transition will immediately set the `isPending` state to true, make the async request(s), and switch `isPending` to false after any transitions. This allows you to keep the current UI responsive and interactive while the data is changing. +A transição assíncrona definirá imediatamente o estado `isPending` como verdadeiro, fará a(s) solicitação(ões) assíncrona(s) e mudará `isPending` para falso após qualquer transição. Isso permite que você mantenha a UI atual responsiva e interativa enquanto os dados estão mudando. -#### By convention, functions that use async transitions are called "Actions". {/*by-convention-functions-that-use-async-transitions-are-called-actions*/} +#### Por convenção, funções que usam transições assíncronas são chamadas de "Ações". {/*by-convention-functions-that-use-async-transitions-are-called-actions*/} -Actions automatically manage submitting data for you: +Ações gerenciam automaticamente o envio de dados para você: -- **Pending state**: Actions provide a pending state that starts at the beginning of a request and automatically resets when the final state update is committed. -- **Optimistic updates**: Actions support the new [`useOptimistic`](#new-hook-optimistic-updates) hook so you can show users instant feedback while the requests are submitting. -- **Error handling**: Actions provide error handling so you can display Error Boundaries when a request fails, and revert optimistic updates to their original value automatically. -- **Forms**: `
` elements now support passing functions to the `action` and `formAction` props. Passing functions to the `action` props use Actions by default and reset the form automatically after submission. +- **Estado pendente**: Ações fornecem um estado pendente que começa no início de uma solicitação e reinicia automaticamente quando a atualização final do estado é comprometida. +- **Atualizações otimistas**: Ações suportam o novo hook [`useOptimistic`](#new-hook-optimistic-updates) para que você possa mostrar aos usuários um feedback instantâneo enquanto as solicitações estão sendo enviadas. +- **Tratamento de erros**: Ações fornecem tratamento de erros para que você possa exibir Limites de Erro quando uma solicitação falha e reverter automaticamente atualizações otimistas para seus valores originais. +- **Formulários**: Elementos `` agora suportam a passagem de funções para as props `action` e `formAction`. Passar funções para as props `action` usa Ações por padrão e reinicia o formulário automaticamente após a submissão. -Building on top of Actions, React 19 introduces [`useOptimistic`](#new-hook-optimistic-updates) to manage optimistic updates, and a new hook [`React.useActionState`](#new-hook-useactionstate) to handle common cases for Actions. In `react-dom` we're adding [`` Actions](#form-actions) to manage forms automatically and [`useFormStatus`](#new-hook-useformstatus) to support the common cases for Actions in forms. +Construindo em cima das Ações, o React 19 introduz [`useOptimistic`](#new-hook-optimistic-updates) para gerenciar atualizações otimistas, e um novo hook [`React.useActionState`](#new-hook-useactionstate) para lidar com casos comuns para Ações. No `react-dom`, estamos adicionando [`` Ações](#form-actions) para gerenciar formulários automaticamente e [`useFormStatus`](#new-hook-useformstatus) para suportar os casos comuns de Ações em formulários. -In React 19, the above example can be simplified to: +No React 19, o exemplo acima pode ser simplificado para: ```js -// Using Actions and useActionState +// Usando Ações e useActionState function ChangeName({ name, setName }) { const [error, submitAction, isPending] = useActionState( async (previousState, formData) => { @@ -140,63 +140,63 @@ function ChangeName({ name, setName }) { return ( - + {error &&

{error}

}
); } ``` -In the next section, we'll break down each of the new Action features in React 19. +Na próxima seção, vamos detalhar cada uma das novas funcionalidades das Ações no React 19. -### New hook: `useActionState` {/*new-hook-useactionstate*/} +### Novo hook: `useActionState` {/*new-hook-useactionstate*/} -To make the common cases easier for Actions, we've added a new hook called `useActionState`: +Para facilitar os casos comuns para Ações, adicionamos um novo hook chamado `useActionState`: ```js const [error, submitAction, isPending] = useActionState( async (previousState, newName) => { const error = await updateName(newName); if (error) { - // You can return any result of the action. - // Here, we return only the error. + // Você pode retornar qualquer resultado da ação. + // Aqui, retornamos apenas o erro. return error; } - // handle success + // lidar com sucesso return null; }, null, ); ``` -`useActionState` accepts a function (the "Action"), and returns a wrapped Action to call. This works because Actions compose. When the wrapped Action is called, `useActionState` will return the last result of the Action as `data`, and the pending state of the Action as `pending`. +`useActionState` aceita uma função (a "Ação") e retorna uma Ação encapsulada a ser chamada. Isso funciona porque as Ações se compõem. Quando a Ação encapsulada é chamada, `useActionState` retornará o último resultado da Ação como `data` e o estado pendente da Ação como `pending`. -`React.useActionState` was previously called `ReactDOM.useFormState` in the Canary releases, but we've renamed it and deprecated `useFormState`. +`React.useActionState` foi anteriormente chamado de `ReactDOM.useFormState` nas versões Canary, mas o renomeamos e depreciamos `useFormState`. -See [#28491](https://github.com/facebook/react/pull/28491) for more info. +Veja [#28491](https://github.com/facebook/react/pull/28491) para mais informações. -For more information, see the docs for [`useActionState`](/reference/react/useActionState). +Para mais informações, veja a documentação para [`useActionState`](/reference/react/useActionState). -### React DOM: `
` Actions {/*form-actions*/} +### React DOM: `` Ações {/*form-actions*/} -Actions are also integrated with React 19's new `` features for `react-dom`. We've added support for passing functions as the `action` and `formAction` props of ``, ``, and `