Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

translating pages/reference/render.md to pt-br #577

Closed
wants to merge 1 commit into from
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
78 changes: 39 additions & 39 deletions beta/src/pages/reference/render.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ title: render()

<Intro>

`render` renders a piece of [JSX](/learn/writing-markup-with-jsx) ("React element") into a browser DOM container node. It instructs React to change the DOM inside of the `container` so that it matches the passed JSX.
`render` renderiza um [JSX](/learn/writing-markup-with-jsx) ("elemento React") em um nó de contêiner DOM do navegador. Ele instrui o React a alterar o DOM dentro do `container` para que ele corresponda ao JSX que foi passado.

```js
render(<App />, container);
Expand All @@ -13,21 +13,21 @@ render(<App />, container, callback);

</Intro>

## Rendering the root component {/*rendering-the-root-component*/}
## Renderizando o componente *root* {/*rendering-the-root-component*/}

To call `render`, you need a piece of JSX and a DOM container:
Para chamar `render`, você precisa de um JSX e um contêiner DOM:

<APIAnatomy>

<AnatomyStep title="React element">

The UI you want to render.
A UI que você deseja renderizar.

</AnatomyStep>

<AnatomyStep title="DOM container">

The DOM node you want to render your UI into. The container itself isn’t modified, only its children are.
O nó do DOM no qual você deseja renderizar sua UI. O contêiner em si não é modificado, apenas seus filhos são.

</AnatomyStep>

Expand All @@ -38,7 +38,7 @@ render(<App />, container);

</APIAnatomy>

In apps fully built with React, you will do this once at the top level of your app--to render the "root" component.
Em aplicativos totalmente construídos com React, você fará isso uma vez no nível superior do seu aplicativo - para renderizar o componente "root".

<Sandpack>

Expand All @@ -52,50 +52,50 @@ render(<App />, document.getElementById('root'));

```js App.js
export default function App() {
return <h1>Hello, world!</h1>;
return <h1>Olá, mundo!</h1>;
}
```

</Sandpack>

<br />

## Rendering multiple roots {/*rendering-multiple-roots*/}
## Renderizando vários *root* {/*rendering-multiple-roots*/}

If you use ["sprinkles"](/learn/add-react-to-a-website) of React here and there, call `render` for each top-level piece of UI managed by React.
Se você usar ["pedaços"](/learn/add-react-to-a-website) do React aqui e ali, chame `render` para cada parte de nível superior da UI gerenciada pelo React.

<Sandpack>

```html public/index.html
<nav id="navigation"></nav>
<nav id="navegacao"></nav>
<main>
<p>This paragraph is not rendered by React (open index.html to verify).</p>
<section id="comments"></section>
<p>Este parágrafo não é renderizado pelo React (abra index.html para verificar).</p>
<section id="comentarios"></section>
</main>
```

```js index.js active
import './styles.css';
import { render } from 'react-dom';
import { Comments, Navigation } from './Components.js';
import { Comentarios, Navegacao } from './Components.js';

render(
<Navigation />,
document.getElementById('navigation')
<Navegacao />,
document.getElementById('navegacao')
);

render(
<Comments />,
document.getElementById('comments')
<Comentarios />,
document.getElementById('comentarios')
);
```

```js Components.js
export function Navigation() {
export function Navegacao() {
return (
<ul>
<NavLink href="/">Home</NavLink>
<NavLink href="/about">About</NavLink>
<NavLink href="/sobre">Sobre</NavLink>
</ul>
);
}
Expand All @@ -108,19 +108,19 @@ function NavLink({ href, children }) {
);
}

export function Comments() {
export function Comentarios() {
return (
<>
<h2>Comments</h2>
<Comment text="Hello!" author="Sophie" />
<Comment text="How are you?" author="Sunil" />
<h2>Comentarios</h2>
<Comentario texto="Olá!" autor="Sophie" />
<Comentario texto="Como vai você?" autor="Sunil" />
</>
);
}

function Comment({ text, author }) {
function Comentario({ texto, autor }) {
return (
<p>{text} — <i>{author}</i></p>
<p>{texto} — <i>{autor}</i></p>
);
}
```
Expand All @@ -134,9 +134,9 @@ nav ul li { display: inline-block; margin-right: 20px; }

<br />

## Updating the rendered tree {/*updating-the-rendered-tree*/}
## Atualizando a árvore renderizada {/*updating-the-rendered-tree*/}

You can call `render` more than once on the same DOM node. As long as the component tree structure matches up with what was previously rendered, React will [preserve the state](/learn/preserving-and-resetting-state). Notice how you can type in the input:
Você pode chamar `render` mais de uma vez no mesmo nó do DOM. Contanto que a estrutura da árvore de componentes corresponda ao que foi renderizado anteriormente, o React [preservará o estado](/learn/preserving-and-resetting-state). Observe como você pode digitar a entrada:

<Sandpack>

Expand All @@ -147,42 +147,42 @@ import App from './App.js';
let i = 0;
setInterval(() => {
render(
<App counter={i} />,
<App contador={i} />,
document.getElementById('root')
);
i++;
}, 1000);
```

```js App.js
export default function App({counter}) {
export default function App({contador}) {
return (
<>
<h1>Hello, world! {counter}</h1>
<input placeholder="Type something here" />
<h1>Olá, mundo! {contador}</h1>
<input placeholder="Digite algo aqui!" />
</>
);
}
```

</Sandpack>

You can destroy the rendered tree with [`unmountComponentAtNode()`](TODO).
Você pode destruir a árvore renderizada com [`unmountComponentAtNode()`](TODO).

<br />

## When not to use it {/*when-not-to-use-it*/}
## Quando não usar {/*when-not-to-use-it*/}

* If your app uses server rendering and generates HTML on the server, use [`hydrate`](TODO) instead of `render`.
* If your app is fully built with React, you shouldn't need to use `render` more than once. If you want to render something in a different part of the DOM tree (for example, a modal or a tooltip), use [`createPortal`](TODO) instead.
* Se seu aplicativo usa renderização de servidor (SSR) e gera HTML no servidor, use [`hydrate`](TODO) em vez de `render`.
* Se seu aplicativo for totalmente construído com React, você não precisará usar `render` mais de uma vez. Se você quiser renderizar algo em uma parte diferente da árvore DOM (por exemplo, um modal ou uma dica de ferramenta), use [`createPortal`](TODO).

<br />


## Behavior in detail {/*behavior-in-detail*/}
## Comportamento em detalhes {/*behavior-in-detail*/}

The first time you call `render`, any existing DOM elements inside `container` are replaced. If you call `render` again, React will update the DOM as necessary to reflect the latest JSX. React will decide which parts of the DOM can be reused and which need to be recreated by ["matching it up"](/learn/preserving-and-resetting-state) with the previously rendered tree. Calling `render` repeatedly is similar to calling `setState`--in both cases, React avoids unnecessary DOM updates.
Na primeira vez que você chama `render`, todos os elementos DOM existentes dentro de `container` são substituídos. Se você chamar `render` novamente, o React atualizará o DOM conforme necessário para refletir o JSX mais recente. O React decidirá quais partes do DOM podem ser reutilizadas e quais precisam ser recriadas ["combinando"](/learn/preserving-and-resetting-state) com a árvore renderizada anteriormente. Chamar `render` repetidamente é semelhante a chamar `setState` -- em ambos os casos, o React evita atualizações desnecessárias do DOM.

You can pass a callback as the third argument. React will call it after your component is in the DOM.
Você pode passar um *callback* como o terceiro argumento. O React irá chamá-lo depois que seu componente estiver no DOM.

If you render `<MyComponent />`, and `MyComponent` is a class component, `render` will return the instance of that class. In all other cases, it will return `null`.
Se você renderizar `<MyComponent />`, e `MyComponent` for um componente de classe, `render` retornará a instância dessa classe. Em todos os outros casos, retornará `null`.