Skip to content

Commit 8d19bdc

Browse files
Update react-v18.md
1 parent 819af77 commit 8d19bdc

File tree

1 file changed

+15
-13
lines changed

1 file changed

+15
-13
lines changed

src/content/blog/2022/03/29/react-v18.md

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -114,8 +114,8 @@ Para mais informações, consulte esta postagem para [Batching automático para
114114

115115
Uma transition é um novo conceito no React para distinguir entre atualizações urgentes e não urgentes.
116116

117-
* **Atualizações urgentes** refletem a interação direta, como digitar, clicar, pressionar e assim por diante.
118-
* **Atualizações de transition** fazem a transição da UI de uma visualização para outra.
117+
* **Atualizações urgentes** refletem a interação direta, como digitar, clicar, pressionar e assim por diante.
118+
* **Atualizações de transition** fazem a transição da UI de uma visualização para outra.
119119

120120
Atualizações urgentes como digitação, clique ou pressione, precisam de resposta imediata para corresponder às nossas intuições sobre como os objetos físicos se comportam. Caso contrário, eles parecem "errados". No entanto, as transitions são diferentes porque o usuário não espera ver cada valor intermediário na tela.
121121

@@ -138,8 +138,8 @@ startTransition(() => {
138138

139139
Atualizações encapsuladas em startTransition são tratadas como não urgentes e serão interrompidas se atualizações mais urgentes, como cliques ou pressionamentos de teclas, chegarem. Se uma transition for interrompida pelo usuário (por exemplo, digitando vários caracteres em sequência), o React descartará o trabalho de renderização obsoleto que não foi finalizado e renderizará apenas a atualização mais recente.
140140

141-
* `useTransition`: um Hook para iniciar transitions, incluindo um valor para rastrear o estado pendente.
142-
* `startTransition`: um método para iniciar transitions quando o Hook não pode ser usado.
141+
* `useTransition`: um Hook para iniciar transitions, incluindo um valor para rastrear o estado pendente.
142+
* `startTransition`: um método para iniciar transitions quando o Hook não pode ser usado.
143143

144144
As transitions optarão pela renderização concorrente, que permite que a atualização seja interrompida. Se o conteúdo re-suspender, as transitions também dizem ao React para continuar mostrando o conteúdo atual enquanto renderiza o conteúdo da transition em segundo plano (consulte o [Suspense RFC](https://github.com/reactjs/rfcs/blob/main/text/0213-suspense-in-react-18.md) para obter mais informações).
145145

@@ -173,8 +173,8 @@ Nesta versão, aproveitamos a oportunidade para redesenhar as APIs que expomos p
173173

174174
Essas novas APIs agora são exportadas de `react-dom/client`:
175175

176-
* `createRoot`: Novo método para criar uma raiz para `render` ou `unmount`. Use-o em vez de `ReactDOM.render`. Os novos recursos no React 18 não funcionam sem ele.
177-
* `hydrateRoot`: Novo método para hidratar um aplicativo renderizado no servidor. Use-o em vez de `ReactDOM.hydrate` em conjunto com as novas APIs do React DOM Server. Os novos recursos no React 18 não funcionam sem ele.
176+
* `createRoot`: Novo método para criar uma raiz para `render` ou `unmount`. Use-o em vez de `ReactDOM.render`. Os novos recursos no React 18 não funcionam sem ele.
177+
* `hydrateRoot`: Novo método para hidratar um aplicativo renderizado no servidor. Use-o em vez de `ReactDOM.hydrate` em conjunto com as novas APIs do React DOM Server. Os novos recursos no React 18 não funcionam sem ele.
178178

179179
`createRoot` e `hydrateRoot` aceitam uma nova opção chamada `onRecoverableError` caso você queira ser notificado quando o React se recuperar de erros durante a renderização ou hidratação para registro. Por padrão, o React usará [`reportError`](https://developer.mozilla.org/en-US/docs/Web/API/reportError), ou `console.error` nos navegadores mais antigos.
180180

@@ -184,8 +184,8 @@ Essas novas APIs agora são exportadas de `react-dom/client`:
184184

185185
Essas novas APIs agora são exportadas de `react-dom/server` e têm suporte total para streaming Suspense no servidor:
186186

187-
* `renderToPipeableStream`: para streaming em ambientes Node.
188-
* `renderToReadableStream`: para ambientes de tempo de execução de borda modernos, como Deno e Cloudflare workers.
187+
* `renderToPipeableStream`: para streaming em ambientes Node.
188+
* `renderToReadableStream`: para ambientes de tempo de execução de borda modernos, como Deno e Cloudflare workers.
189189

190190
O método `renderToString` existente continua funcionando, mas não é recomendado.
191191

@@ -199,7 +199,9 @@ Esse recurso dará aos aplicativos React melhor desempenho imediato, mas requer
199199

200200
Para ajudar a expor esses problemas, o React 18 apresenta uma nova verificação somente para desenvolvimento no Strict Mode. Essa nova verificação desmontará e remontará automaticamente cada componente, sempre que um componente montar pela primeira vez, restaurando o estado anterior na segunda montagem.
201201

202-
Antes dessa alteração, o React montaria o componente e criaria os efeitos:```
202+
Antes dessa alteração, o React montaria o componente e criaria os efeitos:
203+
204+
```
203205
* React monta o componente.
204206
* Layout effects são criados.
205207
* Effects são criados.
@@ -227,7 +229,7 @@ Com o Modo Strict no React 18, o React irá simular a desmontagem e remontagem d
227229

228230
`useId` é um novo Hook para gerar IDs únicos tanto no cliente quanto no servidor, evitando incompatibilidades de hidratação. Ele é útil principalmente para bibliotecas de componentes que se integram com APIs de acessibilidade que exigem IDs únicos. Isso resolve um problema que já existe no React 17 e versões anteriores, mas é ainda mais importante no React 18 por causa de como o novo renderizador de servidor de streaming entrega o HTML fora de ordem. [Veja a documentação aqui](/reference/react/useId).
229231

230-
> Nota
232+
> Note
231233
>
232234
> `useId` **não** serve para gerar [chaves em uma lista](/learn/rendering-lists#where-to-get-your-key). As chaves devem ser geradas a partir de seus dados.
233235
@@ -243,15 +245,15 @@ Com o Modo Strict no React 18, o React irá simular a desmontagem e remontagem d
243245

244246
`useSyncExternalStore` é um novo Hook que permite que lojas externas suportem leituras simultâneas, forçando as atualizações da loja a serem síncronas. Ele remove a necessidade de useEffect ao implementar assinaturas em fontes de dados externas e é recomendado para qualquer biblioteca que se integra com estado externo ao React. [Veja a documentação aqui](/reference/react/useSyncExternalStore).
245247

246-
> Nota
248+
> Note
247249
>
248250
> `useSyncExternalStore` destina-se a ser usado por bibliotecas, não código de aplicação.
249251
250252
#### useInsertionEffect {/*useinsertioneffect*/}
251253

252254
`useInsertionEffect` é um novo Hook que permite que bibliotecas CSS-in-JS abordem problemas de desempenho de injeção de estilos em renderização. A menos que você já tenha construído uma biblioteca CSS-in-JS, não esperamos que você use isso. Este Hook será executado após o DOM ser mutado, mas antes que os layout effects leiam o novo layout. Isso resolve um problema que já existe no React 17 e versões anteriores, mas é ainda mais importante no React 18 porque o React cede ao navegador durante a renderização concorrente, dando a ele a chance de recalcular o layout. [Veja a documentação aqui](/reference/react/useInsertionEffect).
253255

254-
> Nota
256+
> Note
255257
>
256258
> `useInsertionEffect` destina-se a ser usado por bibliotecas, não código de aplicação.
257259
@@ -334,4 +336,4 @@ Veja [Como Atualizar para o React 18](/blog/2022/03/08/react-18-upgrade-guide) p
334336
* Adiciona suporte `lazy`. ([#24068](https://github.com/facebook/react/pull/24068) por [@gnoff](https://github.com/gnoff))
335337
* Atualiza o plugin webpack para webpack 5 ([#22739](https://github.com/facebook/react/pull/22739) por [@michenly](https://github.com/michenly))
336338
* Corrige um erro no carregador do Node. ([#22537](https://github.com/facebook/react/pull/22537) por [@btea](https://github.com/btea))
337-
* Usa `globalThis` em vez de `window` para ambientes de borda. ([#22777](https://github.com/facebook/react/pull/22777) por [@huozhi](https://github.com/huozhi))
339+
* Usa `globalThis` em vez de `window` para ambientes de borda. ([#22777](https://github.com/facebook/react/pull/22777) por [@huozhi](https://github.com/huozhi))

0 commit comments

Comments
 (0)