You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/content/learn/installation.md
+8-35Lines changed: 8 additions & 35 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,20 +8,7 @@ React foi projetado desde o princípio para adoção gradual. Você pode utiliza
8
8
9
9
</Intro>
10
10
11
-
<<<<<<< HEAD
12
-
<YouWillLearnisChapter={true}>
13
-
14
-
*[Como iniciar um novo projeto em React](/learn/start-a-new-react-project)
15
-
*[Como adicionar React a um projeto existente](/learn/add-react-to-an-existing-project)
16
-
*[Como configurar seu editor](/learn/editor-setup)
17
-
*[Como instalar as Ferramentas de Desenvolvedor React](/learn/react-developer-tools)
18
-
19
-
</YouWillLearn>
20
-
21
11
## Experimente React {/*try-react*/}
22
-
=======
23
-
## Try React {/*try-react*/}
24
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
25
12
26
13
Não é necessário que instale nada para mexer com o React. Experimente editar este exemplo de código!
27
14
@@ -43,42 +30,28 @@ Você pode editá-lo diretamente ou abri-lo em uma nova aba pressionando o botã
43
30
44
31
A maioria das páginas na documentação do React contém sandboxes como esta. Fora da documentação do React, existem muitos sandboxes online que suportam React: por exemplo, [CodeSandbox](https://codesandbox.io/s/new), [StackBlitz](https://stackblitz.com/fork/react) ou [CodePen.](https://codepen.io/pen?template=QWYVwWN)
Para experimentar o React localmente na sua máquina, [baixe este arquivo HTML.](https://gist.githubusercontent.com/gaearon/0275b1e1518599bbeafcde4722e79ed1/raw/db72dcbf3384ee1708c4a07d3be79860db04bff0/example.html) Abra-o em seu editor e em seu navegador!
50
-
51
-
## Inicie um novo projeto em React {/*start-a-new-react-project*/}
52
-
53
-
Caso queira construir uma aplicação ou um site totalmente em React, [inicie um novo projeto em React.](/learn/start-a-new-react-project)
54
-
=======
55
-
To try React locally on your computer, [download this HTML page.](https://gist.githubusercontent.com/gaearon/0275b1e1518599bbeafcde4722e79ed1/raw/db72dcbf3384ee1708c4a07d3be79860db04bff0/example.html) Open it in your editor and in your browser!
33
+
Para experimentar o React localmente em sua máquina, [baixe este arquivo HTML.](https://gist.githubusercontent.com/gaearon/0275b1e1518599bbeafcde4722e79ed1/raw/db72dcbf3384ee1708c4a07d3be79860db04bff0/example.html) Abra-o em seu editor e em seu navegador!
56
34
57
-
## Creating a React App {/*creating-a-react-app*/}
35
+
## Criando um App React {/*creating-a-react-app*/}
58
36
59
-
If you want to start a new React app, you can [create a React app](/learn/creating-a-react-app)using a recommended framework.
37
+
Se você quiser iniciar um novo app React, você pode [criar um app React](/learn/creating-a-react-app)usando um framework recomendado.
60
38
61
-
## Build a React App from Scratch {/*build-a-react-app-from-scratch*/}
39
+
## Criando um App React do Zero {/*build-a-react-app-from-scratch*/}
62
40
63
-
If a framework is not a good fit for your project, you prefer to build your own framework, or you just want to learn the basics of a React app you can [build a React app from scratch](/learn/build-a-react-app-from-scratch).
64
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
41
+
Se um framework não for uma boa opção para seu projeto, você preferir construir seu próprio framework, ou você apenas quer aprender os fundamentos de um app React, você pode [criar um app React do zero](/learn/build-a-react-app-from-scratch).
65
42
66
43
## Adicione React a um projeto existente {/*add-react-to-an-existing-project*/}
67
44
68
-
<<<<<<< HEAD
69
-
Caso queira experimentar React em uma aplicação ou site já existentes, [adicione React a um projeto existente.](/learn/add-react-to-an-existing-project)
70
-
=======
71
-
If want to try using React in your existing app or a website, you can [add React to an existing project.](/learn/add-react-to-an-existing-project)
45
+
Se você quiser experimentar o React em seu app ou site existente, você pode [adicionar o React a um projeto existente.](/learn/add-react-to-an-existing-project)
72
46
73
47
74
48
<Note>
75
49
76
-
#### Should I use Create React App? {/*should-i-use-create-react-app*/}
Copy file name to clipboardExpand all lines: src/content/learn/render-and-commit.md
+2-19Lines changed: 2 additions & 19 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -70,15 +70,9 @@ Tente comentar a chamada `root.render()` e veja o componente desaparecer!
70
70
Uma vez que o componente foi renderizado inicialmente, você pode acionar outras renderizações atualizando seu estado com a função [`set`](/reference/react/useState#setstate). A atualização do estado do seu componente enfileira automaticamente uma renderização. (Você pode imaginá-los como um cliente de restaurante pedindo chá, sobremesa e todo tipo de coisas depois de fazer o primeiro pedido, dependendo do estado de sede ou fome.)
71
71
72
72
<IllustrationBlocksequential>
73
-
<<<<<<< HEAD
74
-
<Illustrationcaption="Atualização de Estado..."alt="Como um servidor React em um restaurante, servindo uma interface do usuário do cartão para o usuário, representado como um usuário com um cursor para sua cabeça. O patrono expressa que quer um cartão rosa, não preto!"src="/images/docs/illustrations/i_rerender1.png" />
73
+
<Illustrationcaption="Atualização de Estado..."alt="React como um servidor em um restaurante, servindo uma interface do usuário do cartão para o usuário, representado como um patrono com um cursor para sua cabeça. O patrono expressa que quer um cartão rosa, não preto!"src="/images/docs/illustrations/i_rerender1.png" />
75
74
<Illustrationcaption="...triggers..."alt="React retorna à Cozinha de Componentes e diz ao Card Chef que eles precisam de um Card rosa."src="/images/docs/illustrations/i_rerender2.png" />
76
75
<Illustrationcaption="...render!"alt="O Card Chef dá ao React o cartão rosa."src="/images/docs/illustrations/i_rerender3.png" />
77
-
=======
78
-
<Illustrationcaption="State update..."alt="React as a server in a restaurant, serving a Card UI to the user, represented as a patron with a cursor for their head. The patron expresses they want a pink card, not a black one!"src="/images/docs/illustrations/i_rerender1.png" />
79
-
<Illustrationcaption="...triggers..."alt="React returns to the Component Kitchen and tells the Card Chef they need a pink Card."src="/images/docs/illustrations/i_rerender2.png" />
80
-
<Illustrationcaption="...render!"alt="The Card Chef gives React the pink Card."src="/images/docs/illustrations/i_rerender3.png" />
81
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
82
76
</IllustrationBlock>
83
77
84
78
## Etapa 2: React renderiza seus componentes {/*step-2-react-renders-your-components*/}
@@ -90,11 +84,7 @@ Depois de acionar uma renderização, o React chama seus componentes para descob
90
84
91
85
Este processo é recursivo: se o componente atualizado retornar algum outro componente, o React renderizará _aquele_ componente a seguir, e se esse componente também retornar algo, ele renderizará _aquele_ componente em seguida e assim por diante. O processo continuará até que não haja mais componentes aninhados e o React saiba exatamente o que deve ser exibido na tela.
92
86
93
-
<<<<<<< HEAD
94
87
No exemplo a seguir, o React chamará `Gallery()` e `Image()` várias vezes:
95
-
=======
96
-
In the following example, React will call `Gallery()` and `Image()` several times:
97
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
98
88
99
89
<Sandpack>
100
90
@@ -158,17 +148,10 @@ O comportamento padrão de renderizar todos os componentes aninhados no componen
158
148
159
149
## Etapa 3: O React confirma as alterações no DOM {/*step-3-react-commits-changes-to-the-dom*/}
160
150
161
-
<<<<<<< HEAD
162
151
Depois de renderizar (chamar) seus componentes, o React modificará o DOM.
163
152
164
-
***Para a renderização inicial,** o React usará a API DOM [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild) para colocar todos os nós DOM criados na tela.
153
+
***Para a renderização inicial,** o React usará a API DOM [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild) para colocar todos os nós DOM criados na tela.
165
154
***Para rerrenderizações,** o React aplicará as operações mínimas necessárias (calculadas durante a renderização!) Para fazer o DOM corresponder à última saída de renderização.
166
-
=======
167
-
After rendering (calling) your components, React will modify the DOM.
168
-
169
-
***For the initial render,** React will use the [`appendChild()`](https://developer.mozilla.org/docs/Web/API/Node/appendChild) DOM API to put all the DOM nodes it has created on screen.
170
-
***For re-renders,** React will apply the minimal necessary operations (calculated while rendering!) to make the DOM match the latest rendering output.
171
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
172
155
173
156
**O React apenas altera os nós do DOM se houver uma diferença entre as renderizações.** Por exemplo, aqui está um componente que renderiza novamente com props diferentes passados de seu pai a cada segundo. Observe como você pode adicionar algum texto no `<input>`, atualizando seu `valor`, mas o texto não desaparece quando o componente renderiza novamente:
Copy file name to clipboardExpand all lines: src/content/learn/reusing-logic-with-custom-hooks.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1333,11 +1333,7 @@ export function useOnlineStatus() {
1333
1333
1334
1334
No exemplo acima, `useOnlineStatus` é implementado com um par de [`useState`](/reference/react/useState) e [`useEffect`](/reference/react/useEffect). No entanto, essa não é a melhor solução possível. Existem alguns casos específicos que não são considerados. Por exemplo, assume-se que quando o componente é montado, `isOnline` já é `true`, mas isso pode estar errado se a rede já estiver offline. Você pode usar a API do navegador [`navigator.onLine`](https://developer.mozilla.org/en-US/docs/Web/API/Navigator/onLine) para verificar isso, mas usá-la diretamente não funcionaria no servidor para gerar o HTML inicial. Em resumo, este código pode ser aprimorado.
1335
1335
1336
-
<<<<<<< HEAD
1337
-
Felizmente, o React 18 inclui uma API dedicada chamada [`useSyncExternalStore`](/reference/react/useSyncExternalStore) que cuida de todos esses problemas para você. Aqui está como o seu Hook `useOnlineStatus` pode ser reescrito para aproveitar essa nova API:
1338
-
=======
1339
-
React includes a dedicated API called [`useSyncExternalStore`](/reference/react/useSyncExternalStore) which takes care of all of these problems for you. Here is your `useOnlineStatus` Hook, rewritten to take advantage of this new API:
1340
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
1336
+
O React inclui uma API dedicada chamada [`useSyncExternalStore`](/reference/react/useSyncExternalStore) que cuida de todos esses problemas para você. Aqui está seu Hook `useOnlineStatus`, reescrito para aproveitar essa nova API:
Copy file name to clipboardExpand all lines: src/content/learn/state-a-components-memory.md
+1-5Lines changed: 1 addition & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1452,11 +1452,7 @@ Se seu *linter* está [configurado para React](/learn/editor-setup#linting), voc
1452
1452
1453
1453
#### Remova state desnecessário {/*remove-unnecessary-state*/}
1454
1454
1455
-
<<<<<<< HEAD
1456
-
Quando o botão é clicado, esse exemplo deve perguntar pelo nome do usuário e então exibir um alerta cumprimentando-o. Você tentou usar state para manter o nome, mas por alguma razão ele sempre mostra "Hello, !".
1457
-
=======
1458
-
When the button is clicked, this example should ask for the user's name and then display an alert greeting them. You tried to use state to keep the name, but for some reason the first time it shows "Hello, !", and then "Hello, [name]!" with the previous input every time after.
1459
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
1455
+
Quando o botão é clicado, este exemplo deve perguntar o nome do usuário e então exibir um alerta saudando-o. Você tentou usar state para manter o nome, mas por alguma razão na primeira vez mostra "Olá, !", e depois "Olá, [nome]!" com a entrada anterior toda vez depois.
1460
1456
1461
1457
Para consertar esse código, remova a variável de state desnecessária. (Nós discutiremos sobre [por que isso não funcionou](/learn/state-as-a-snapshot) mais tarde.)
Copy file name to clipboardExpand all lines: src/content/learn/tutorial-tic-tac-toe.md
+3-23Lines changed: 3 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -295,11 +295,7 @@ export default function Square() {
295
295
}
296
296
```
297
297
298
-
<<<<<<< HEAD
299
298
A seção *navegador* deve estar exibindo um quadrado com um X em seu interior desta forma:
300
-
=======
301
-
The _browser_ section should be displaying a square with an X in it like this:
302
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
303
299
304
300

305
301
@@ -1329,11 +1325,7 @@ Vamos recapitular o que acontece quando um usuário clica no quadrado superior e
1329
1325
1. `handleClick` usa o argumento (`0`) para atualizar o primeiro elemento do array `squares` de `null` para `X`.
1330
1326
1. O *state* `square` do componente `Board` foi atualizado, então `Board` e todos os seus filhos rerrenderizam. Isso faz com que a *prop* `value` do componente `Square` de índice `0` mude de `null` para `X`.
1331
1327
1332
-
<<<<<<< HEAD
1333
-
No final o usuário vê que o quadrado superior esquerdo mudou de vazio para ter um `X` depois de clicar nele.
1334
-
=======
1335
-
In the end the user sees that the upper left square has changed from empty to having an `X` after clicking it.
1336
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
1328
+
No final, o usuário vê que o quadrado superior esquerdo mudou de vazio para ter um `X` depois de clicar nele.
1337
1329
1338
1330
<Note>
1339
1331
@@ -1414,11 +1406,7 @@ Mas calma, há um problema. Tente clicar no mesmo quadrado múltiplas vezes:
1414
1406
1415
1407
O `X` é sobrescrito por um `O`! À medida que isso adicionaria uma reviravolta interessante ao jogo, nós vamos nos limitar às regras originais por enquanto.
1416
1408
1417
-
<<<<<<< HEAD
1418
-
Quando você marca um quadrado com um `X` ou um `O` você não está primeiro checando se o quadrado já possui um valor `X` ou `O`. Você pode consertar isso *retornando cedo*. Você checará se um quadrado já possui `X` ou `O`. Se o quadrado já estiver preenchido, você chamará `return` na função `handleClick` cedo--antes que ela tente atualizar o *state* do tabuleiro.
1419
-
=======
1420
-
When you mark a square with an `X` or an `O` you aren't first checking to see if the square already has an `X` or `O` value. You can fix this by *returning early*. You'll check to see if the square already has an `X` or an `O`. If the square is already filled, you will `return` in the `handleClick` function early--before it tries to update the board state.
1421
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
1409
+
Quando você marca um quadrado com um `X` ou um `O` você não está primeiro checando para ver se o quadrado já possui um valor `X` ou `O`. Você pode consertar isso *retornando cedo*. Você checará para ver se o quadrado já possui um `X` ou um `O`. Se o quadrado já estiver preenchido, você chamará `return` na função `handleClick` cedo--antes que ela tente atualizar o *state* do tabuleiro.
1422
1410
1423
1411
```js {2,3,4}
1424
1412
functionhandleClick(i) {
@@ -1568,11 +1556,7 @@ Não importa se você define `calculateWinner` antes ou depois de `Board`. Vamos
1568
1556
1569
1557
</Note>
1570
1558
1571
-
<<<<<<< HEAD
1572
1559
Você chamará `calculateWinner(squares)` na função `handleClick` do componente `Board` para checar se um jogador venceu. Você pode realizar essa checagem ao mesmo tempo em que checa se um usuário clicou em um quadrado que já possui um `X` ou um `O`. Nós gostaríamos de retornar cedo em ambos os casos:
1573
-
=======
1574
-
You will call `calculateWinner(squares)` in the `Board` component's `handleClick` function to check if a player has won. You can perform this check at the same time you check if a user has clicked a square that already has an `X` or an `O`. We'd like to return early in both cases:
1575
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
1576
1560
1577
1561
```js {2}
1578
1562
functionhandleClick(i) {
@@ -2263,11 +2247,7 @@ body {
2263
2247
2264
2248
</Sandpack>
2265
2249
2266
-
<<<<<<< HEAD
2267
-
À medida em que você itera sobre o array `history` dentro da função que você passou ao `map`, o argumento `squares` vai a cada elemento de `history` e o argumento `move` vai a cada índice do array: `0`, `1`, `2`, …. (Na maior parte dos casos, você precisaria dos elementos do array em si, mas para renderizar uma lista de movimento você precisará apenas dos índices).
2268
-
=======
2269
-
As you iterate through the `history` array inside the function you passed to `map`, the `squares` argument goes through each element of `history`, and the `move` argument goes through each array index: `0`, `1`, `2`, …. (In most cases, you'd need the actual array elements, but to render a list of moves you will only need indexes.)
2270
-
>>>>>>> 55986965fbf69c2584040039c9586a01bd54eba7
2250
+
À medida em que você itera sobre o array `history` dentro da função que você passou ao `map`, o argumento `squares` vai a cada elemento de `history`, e o argumento `move` vai a cada índice do array: `0`, `1`, `2`, …. (Na maior parte dos casos, você precisaria dos elementos do array em si, mas para renderizar uma lista de movimento você precisará apenas dos índices).
2271
2251
2272
2252
Para cada movimento no histórico do jogo da velha, você cria um item de lista `<li>` o qual contém um botão `<button>`. O botão tem um manipulador `onClick` o qual chama a função denominada `jumpTo` (que você ainda não implementou).
0 commit comments