Skip to content

Commit bc43f75

Browse files
committed
grammatical; highlghter; removed other words
1 parent 303024f commit bc43f75

File tree

1 file changed

+30
-31
lines changed

1 file changed

+30
-31
lines changed

content/docs/hooks-reference.md

+30-31
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,9 @@ const [state, setState] = useState(initialState);
3535

3636
Retorna um valor e uma função para atualizar o valor.
3737

38-
Durante a renderização inicial, o estado (`state`) retornado é o mesmo que o valor passado como argumento inicial (`initialState`).
38+
Durante a renderização inicial, o estado retornado é o mesmo que o valor passado como argumento inicial (`initialState`).
3939

40-
A função `setState` é usada para atualizar o `state`. Ela aceita um novo valor de estado e coloca na fila de re-renderização do componente.
40+
A função `setState` é usada para atualizar o estado. Ela aceita um novo valor de estado e coloca na fila de re-renderização do componente.
4141

4242
```js
4343
setState(newState);
@@ -47,7 +47,7 @@ Durante as próximas re-renderizações, o primeiro valor retornado por `useStat
4747

4848
#### Atualizações Funcionais {#functional-updates}
4949

50-
Se um novo state for calculado usando o estado anterior, você pode passar uma função para `setSate`. A função receberá o valor anterior e retornará um valor atualizado. Aqui está um exemplo de um componente de contador que usa as duas formas de usar o `setState`:
50+
Se um novo estado for calculado usando o estado anterior, você pode passar uma função para `setSate`. A função receberá o valor anterior e retornará um valor atualizado. Aqui está um exemplo de um componente de contador que usa as duas formas de usar o `setState`:
5151

5252
```js
5353
function Counter({initialCount}) {
@@ -68,19 +68,19 @@ Os botões "+" and "-" usam a forma funcional, porque o valor atualizado é base
6868

6969
> Note
7070
>
71-
> Ao contrário do método `setState` encontrado em componentes de classe, `useState` não combina automaticamente os objetos atualizados. Você pode replicar esse comportamento por combinar a função que atualiza o objeto e o `state` anterior usando a sintaxe `object spread`
71+
> Ao contrário do método `setState` encontrado em componentes de classe, `useState` não combina automaticamente os objetos atualizados. Você pode replicar esse comportamento por combinar a função que atualiza o objeto e o estado anterior usando a sintaxe `object spread`
72+
>
73+
>
74+
> ```js
75+
> setState(prevState => {
76+
> // Object.assign também funcionaria
77+
> return {...prevState, ...updatedValues};
78+
> });
79+
> ```
80+
> Outra opção é o `useReducer`, que é mais adequada para gerenciar objetos de estado que contêm vários sub-valores.
7281
>
7382
74-
```js
75-
setState(prevState => {
76-
// Object.assign também funcionaria
77-
return {...prevState, ...updatedValues};
78-
});
79-
```
80-
81-
Outra opção é o `useReducer`, que é mais adequada para gerenciar objetos de estado que contêm vários sub-valores.
82-
83-
#### Inicialização Lenta {#lazy-initial-state}
83+
#### Estado Inicial Preguiçoso {#lazy-initial-state}
8484
8585
O argumento `initialState` é o estado usado durante a primeira renderização. Nas próximas renderizações, ele é desconsiderado. Se o estado inicial é o resultado desse demorado processamento, você pode fornecer uma função, no qual será executada apenas na primeira renderização:
8686
@@ -91,9 +91,9 @@ const [state, setState] = useState(() => {
9191
});
9292
```
9393
94-
#### Pulando atualização de estado {#bailing-out-of-a-state-update}
94+
#### Pulando Atualização de Estado {#bailing-out-of-a-state-update}
9595

96-
Se você atualizar o `state` do Hook com o mesmo valor do `state` atual, React irá pular a atualização sem renderizar os filhos ou disparar os efeitos. (React usa o [`Object.is` algorito de comparação](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#Description).)
96+
Se você atualizar o estado do Hook com o mesmo valor do estado atual, React irá pular a atualização sem renderizar os filhos ou disparar os efeitos. (React usa o algoritimo de comparação [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#Description).)
9797

9898
### `useEffect` {#useeffect}
9999

@@ -109,7 +109,7 @@ Em vez disso, use `useEffect`. A função passada para `useEffect` será executa
109109

110110
Por padrão, os efeitos são executados após cada renderização concluída, mas você pode optar por disparar [somente quando certos valores receberam atualização](#conditionally-firing-an-effect).
111111

112-
#### Limpando um efeito {#cleaning-up-an-effect}
112+
#### Limpando um Efeito {#cleaning-up-an-effect}
113113

114114
Muitas vezes, os efeitos criam recursos que precisam ser limpos antes que o componente deixe a tela, como uma assinatura ou o ID de um temporizador. Para fazer isso, a função passada para `useEffect` pode retornar uma função de limpeza do efeito. Por exemplo, para criar uma assinatura:
115115

@@ -126,15 +126,15 @@ useEffect(() => {
126126

127127
A função de limpeza é executada antes que o componente seja removido da UI para evitar vazamento de memória. Entretanto, se um componente renderiza várias vezes (como eles normalmente fazem), o ** efeito anterior é limpo antes de executar o próximo efeito**. No nosso exemplo, isto significa que uma nova assinatura é criada em cada atualização. Para evitar disparar um efeito em cada atualização, consulte a próxima seção.
128128

129-
#### Tempo dos efeitos {#timing-of-effects}
129+
#### Tempo dos Efeitos {#timing-of-effects}
130130

131131
Ao contrário de `componentDidMount` e `componentDidUpdate`, a função passada para `useEffect` dispara **após** a renderização, durante o evento adiado. Isto torna o `useEffect` adequado para os muitos efeitos colaterais comuns, como a criação de assinaturas e manipuladores de eventos, porque a maioria dos tipos de trabalho não deve bloquear o navegador ao atualizar a tela.
132132

133133
No entanto, nem todos os efeitos podem ser adiados. Por exemplo, uma alteração no DOM visível para o usuário, deve disparar sincronizadamente antes da próxima renderização, para que o usuário não perceba uma inconsistência visual. (A distinção é conceitualmente semelhante a ouvintes de eventos ativos vs passivos.) Para estes tipos de efeitos, React fornece um Hook adicional chamado [`useLayoutEffect`](#uselayouteffect). Tem a mesma estrutura que `useEffect`, mas é diferente quando disparado.
134134

135135
Embora `useEffect` seja adiado até a próxima renderização do navegador, é mais garantido disparar antes de qualquer nova renderização. React sempre apagará os efeitos de uma renderização anterior antes de iniciar uma nova atualização.
136136

137-
#### Disparando um efeito condicionalmente {#conditionally-firing-an-effect}
137+
#### Disparando um Efeito Condicionalmente {#conditionally-firing-an-effect}
138138

139139
O comportamento padrão para efeitos é disparar o efeito após cada término de renderização. Desta maneira, o efeito é sempre recriado se uma das suas entradas mudar.
140140

@@ -213,11 +213,11 @@ function Counter({initialCount}) {
213213
}
214214
```
215215

216-
#### Especificando um estado inicial {#specifying-the-initial-state}
216+
#### Determinando o Estado Inicial {#specifying-the-initial-state}
217217

218218
Há duas diferentes maneiras para inicializar `useReducer` `state`. Pode você escolher qualquer uma dependendo do seu caso de uso. A maneira mais simples é a de passar um estado inicial como segundo argumento:
219219

220-
```js
220+
```js{3}
221221
const [state, dispatch] = useReducer(
222222
reducer,
223223
{count: initialCount}
@@ -228,13 +228,13 @@ Há duas diferentes maneiras para inicializar `useReducer` `state`. Pode você e
228228
>
229229
> React não usa a convenção `state = initialState` popularizada pelo Redux. O valor inicial precisa às vezes, depender de props e, portanto é especificado a partir da chamada do Hook. Se você se sentir bem sobre isso, você pode chamar `useReducer(reducer, undefined, reducer)` para simular o comportamento do Redux, mas não encorajamos isso.
230230
231-
#### Inicialização Lenta {#lazy-initialization}
231+
#### Inicialização Preguiçosa {#lazy-initialization}
232232

233233
Você pode também criar um estado inicial mais lento. Para fazer isso, você pode passar uma função `init` como terceiro argumento. O estado inicial será setado para `init(initialArg)`.
234234

235235
Isso nós permite extrair a lógica que calcula o estado inicial para fora do `reducer`. Isso é útil também para resetar um estado depois da resposta de uma ação:
236236

237-
```js
237+
```js{1-3,11-12,21,26}
238238
function init(initialCount) {
239239
return {count: initialCount};
240240
}
@@ -261,6 +261,7 @@ function Counter({initialCount}) {
261261
Count: {state.count}
262262
<button
263263
onClick={() => dispatch({type: 'reset', payload: initialCount})}>
264+
264265
Reset
265266
</button>
266267
<button onClick={() => dispatch({type: 'increment'})}>+</button>
@@ -270,9 +271,9 @@ function Counter({initialCount}) {
270271
}
271272
```
272273

273-
#### Pulando fora da ação {#bailing-out-of-a-dispatch}
274+
#### Pulando Fora da Ação {#bailing-out-of-a-dispatch}
274275

275-
Se você retornar o mesmo valor do Hook Reducer que o valor do `state` atual, React irá pular a ação sem renderizar os filhos ou disparar os efeitos. (React usa o [`Object.is` algorito de comparação](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#Description).)
276+
Se você retornar o mesmo valor do Hook Reducer que o valor do `state` atual, React irá pular a ação sem renderizar os filhos ou disparar os efeitos. (React usa o algoritimo de comparação [`Object.is`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is#Description).)
276277

277278

278279
### `useCallback` {#usecallback}
@@ -329,7 +330,6 @@ Um caso comum de uso é o acesso imperativamente a um componente filho:
329330
```js
330331
function TextInputWithFocusButton() {
331332
const inputEl = useRef(null);
332-
333333
const => {
334334
// `current` aponta para o evento de `focus` gerado pelo campo de texto
335335
inputEl.current.focus();
@@ -357,16 +357,15 @@ useImperativeHandle(ref, createHandle, [inputs])
357357
```js
358358
function FancyInput(props, ref) {
359359
const inputRef = useRef();
360-
361360
useImperativeHandle(ref, () => ({
362361
focus: () => {
363362
inputRef.current.focus();
364363
}
365364
}));
366365

367366
return <input ref={inputRef} ... />;
368-
} />;
369-
}
367+
};
368+
370369
FancyInput = forwardRef(FancyInput);
371370
```
372371

@@ -411,9 +410,9 @@ function useFriendStatus(friendID) {
411410

412411
> Dica
413412
>
414-
> Não recomendamos adicionar valores de depuração (`debug`) a cada custom hook criado. É mais valioso para `custom hooks` que são partes de bibliotecas compartilhas.
413+
> Não recomendamos adicionar valores de depuração a cada custom hook criado. É mais valioso para `custom hooks` que são partes de bibliotecas compartilhas.
415414
416-
#### Adiar a formatação de valores de depuração(debug)
415+
#### Adiar a formatação de valores de depuração
417416

418417
Em alguns casos, exibir um valor formatado pode ser uma operação cara. Também é desnecessário a menos que um hook seja realmente inspecionado.
419418

0 commit comments

Comments
 (0)