Skip to content

Commit 69c3c1e

Browse files
authored
Merge pull request #253 from JoyceFatima/feature/translation-to-pt-br
feat: added the pt-br translations and missing pieces of writing
2 parents 88a5146 + 12114fe commit 69c3c1e

File tree

6 files changed

+168
-10
lines changed

6 files changed

+168
-10
lines changed

Diff for: i18n/pt-BR/articles/comecando.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,13 @@ cd project-name
2828
Instale as dependências:
2929

3030
```sh
31-
npm install
31+
npm install # ou yarn
3232
```
3333

3434
Inicie a aplicação em modo de desenvolvimento:
3535

3636
```sh
37-
npm start
37+
npm start # ou yarn start
3838
```
3939

4040
## Entendendo os arquivos gerados
@@ -43,13 +43,13 @@ As seguintes pastas e arquivos serão gerados:
4343

4444
### server.js
4545

46-
Esta é a ponto de entrada e geração do servidor.
46+
Esta é a entrada do servidor e o ponto do gerador.
4747

4848
É um lugar conveniente para configurar coisas globais como [banco de dados](/pt-br/como-usar-mongodb-com-nullstack) e manipular o `contexto` do servidor, detalhes em [inicialização da aplicação](/pt-br/inicializacao-da-aplicacao).
4949

5050
### client.js
5151

52-
Esta é a ponto de entrada e geração do cliente.
52+
Esta é a entrada do cliente e o ponto do gerador.
5353

5454
É um lugar conveniente para importar dependências globais como frameworks CSS e manipular o `contexto` do cliente.
5555

Diff for: i18n/pt-BR/articles/componentes-com-estado.md

+156
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
title: Componentes com estado
33
description: Um framework web full stack produtivo não deve forçar você a pensar sobre detalhes de estrutura
44
---
5+
Componentes com estado são classes que estendem nullstack e são capazes de manter o estado que reflete na interface do usuário.
56

67
Um framework web full stack produtivo não deve forçar você a pensar sobre detalhes de estrutura.
78

@@ -45,6 +46,44 @@ export default Counter;
4546

4647
> 💡 As atualizações são feitas em lotes, geralmente enquanto aguardam chamadas assíncronas, portanto, fazer várias atribuições não tem custos de desempenho!
4748
49+
## Array de Eventos
50+
51+
Você pode passar um array de eventos como prop e eles serão executados em paralelo
52+
53+
Você também pode passar valores falsos para pular eventos condicionalmente.
54+
55+
```jsx
56+
import Nullstack from 'nullstack';
57+
58+
class Counter extends Nullstack {
59+
60+
count = 0;
61+
62+
increment() {
63+
this.count++;
64+
}
65+
66+
log() {
67+
console.log(this.count);
68+
}
69+
70+
logUnlessZero() {
71+
console.log(this.count > 0);
72+
}
73+
74+
render() {
75+
return (
76+
<button onclick={[this.increment, this.log, this.count > 0 && this.logUnlessZero]}>
77+
{this.count}
78+
</button>
79+
)
80+
}
81+
82+
}
83+
84+
export default Counter;
85+
```
86+
4887
## Objeto de Eventos
4988

5089
Você pode criar atalho em eventos que são simples atribuições passando um objeto para o evento.
@@ -159,6 +198,123 @@ class Form extends Nullstack {
159198
export default Form;
160199
```
161200

201+
## Eventos Debounced
202+
203+
Você pode usar o atributo `debounce` passando um número de milissegundos para atrasar os eventos desse elemento
204+
205+
```jsx
206+
import Nullstack from 'nullstack';
207+
208+
class Counter extends Nullstack {
209+
210+
count = 0
211+
212+
increment() {
213+
this.count++
214+
}
215+
216+
render() {
217+
return (
218+
<button onclick={this.increment} debounce={2000}>
219+
increment
220+
</button>
221+
)
222+
}
223+
224+
}
225+
226+
export default Counter;
227+
```
228+
229+
230+
## TypeScript
231+
232+
Componentes com estado aceitam um genérico que reflete nas props que sua tag aceitará
233+
234+
```tsx
235+
// src/Counter.tsx
236+
import Nullstack, { NullstackClientContext } from 'nullstack';
237+
238+
interface CounterProps {
239+
multiplier: number
240+
}
241+
242+
class Counter extends Nullstack<CounterProps> {
243+
244+
// ...
245+
246+
render({ multiplier }: NullstackClientContext<CounterProps>) {
247+
return <div> {multiplier} </div>
248+
}
249+
250+
}
251+
252+
export default Counter;
253+
```
254+
255+
```tsx
256+
// src/Application.tsx
257+
import Counter from './Counter'
258+
259+
export default function Application() {
260+
return <Counter multiplier={4} />
261+
}
262+
```
263+
264+
## Componentes internos
265+
266+
Em vez de criar um novo componente apenas para organizar a divisão de código, você pode criar um componente interno.
267+
268+
Componentes internos são qualquer método cujo nome comece com `render` seguido por um caractere maiúsculo.
269+
270+
Os componentes internos compartilham a mesma instância e escopo do componente principal, portanto, são muito convenientes para evitar problemas como perfuração de escoras.
271+
272+
Para invocar o componente interno, use uma tag JSX com o nome do método sem o prefixo `render`.
273+
274+
```tsx
275+
import Nullstack, { NullstackClientContext, NullstackNode } from 'nullstack';
276+
277+
interface CounterProps {
278+
multiplier: number
279+
}
280+
281+
interface CounterButtonProps {
282+
delta: number
283+
}
284+
285+
declare function Button(context: CounterProps): NullstackNode
286+
287+
class Counter extends Nullstack<CounterProps> {
288+
289+
count = 0;
290+
291+
increment({ delta, multiplier }: NullstackClientContext<CounterProps & CounterButtonProps>) {
292+
this.count += delta * multiplier;
293+
}
294+
295+
renderButton({ delta = 1 }: NullstackClientContext<CounterProps & CounterButtonProps>) {
296+
return (
297+
<button onclick={this.increment} delta={delta}>
298+
{this.count}
299+
</button>
300+
)
301+
}
302+
303+
render() {
304+
return (
305+
<div>
306+
<Button />
307+
<Button delta={2} />
308+
</div>
309+
)
310+
}
311+
312+
}
313+
314+
export default Counter;
315+
```
316+
> 💡 Nullstack will inject a constant reference to the function at transpile time in order to completely skip the runtime lookup process!
317+
162318
## Próximos passos
163319

164320
⚔ Aprenda sobre o [ciclo da vida full-stack](/pt-br/ciclo-de-vida-full-stack).

Diff for: i18n/pt-BR/articles/componentes-funcionais.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ description: Componentes Funcionais são simples funções puras que podem modif
55

66
Desde a v0.9.21, o Nullstack tem a simplicidade de componentes funcionais puros pronta para uso.
77

8-
Este segue as especificações de [componentes renderizáveis](/pt-br/componentes-renderizaveis), mas com mais ênfase no **renderizável**.
8+
Este segue as especificações de [componentes sem estado](/pt-br/componentes-renderizaveis), mas com mais ênfase no **renderizável**.
99

1010
Usando funções puras, você pode escrever componentes focados na renderização da seguinte maneira:
1111

Diff for: i18n/pt-BR/articles/componentes-renderizaveis.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
---
2-
title: Componentes renderizáveis
3-
description: Componentes renderizáveis são muito semelhantes aos componentes da Web que fornecem a capacidade de criar novas tags HTML que atalham um grupo de outras tags HTML
2+
title: Componentes sem estado
3+
description: Componentes sem estado são muito semelhantes aos componentes da Web que fornecem a capacidade de criar novas tags HTML que atalham um grupo de outras tags HTML
44
---
55

66
O componente mais simples que você pode fazer é um componente renderizável, com exceção de [componentes funcionais](/pt-br/componentes-funcionais).
77

8-
Componentes renderizáveis são muito semelhantes aos componentes da Web que fornecem a capacidade de criar novas tags HTML que atalham um grupo de outras tags HTML.
8+
Componentes sem estado são muito semelhantes aos componentes da Web que fornecem a capacidade de criar novas tags HTML que atalham um grupo de outras tags HTML.
99

1010
Crie um arquivo em sua pasta src com o nome de seu componente e com a [extensão `.njs`](/pt-br/extensão-de-arquivo-njs).
1111

@@ -330,7 +330,7 @@ export default Post;
330330
331331
## A tag `head`
332332
333-
Componentes renderizáveis podem renderizar dentro da tag `head` um número ilimitado de vezes em qualquer profundidade do aplicativo.
333+
Componentes sem estado podem renderizar dentro da tag `head` um número ilimitado de vezes em qualquer profundidade do aplicativo.
334334
335335
A tag `head` só será atualizada durante o processo de [renderização no servidor](/pt-br/renderizacao-no-servidor) e mudanças serão ignorados após o processo de [hidratação](/pt-br/ciclo-de-vida-full-stack).
336336

Diff for: i18n/pt-BR/articles/o-que-e-nullstack.md

+2
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ Não existem grandes projetos no Nullstack, apenas pequenos recursos. Um recurso
1717

1818
Isso pode parecer errado e ir contra tudo o que você já aprendeu, mas funciona e é mais rápido e flexível. Seu código fica muito mais simples e fácil de entender, as pessoas podem pular rapidamente em sua base de código e começar a contribuir. Os desenvolvedores podem fazer alterações em projetos gigantes sem nenhuma sobrecarga cognitiva.
1919

20+
Nullstack não precisa de um ecossistema, você provavelmente não encontrará bibliotecas "nullstack-*", pois pode simplesmente usar pacotes JavaScript vanilla. Acreditamos que o JavaScript atingiu um nível de maturidade que a criação de um trecho de código que faz exatamente o que você precisa geralmente ocupará menos linhas e levará a menos engenharia excessiva do que configurar uma biblioteca.
21+
2022
O desenvolvimento orientado a recursos pode não ser para todos, mas o Nullstack oferece liberdade suficiente para usá-lo da maneira que achar melhor. Você ainda pode usar o Nullstack com camadas e abstrações, não estamos aqui para segurar sua mão, você é livre para atirar no seu próprio pé.
2123

2224
## Próximos passos

Diff for: i18n/pt-BR/components/Documentation.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ topics:
99
href: "/pt-br/o-que-e-nullstack"
1010
- title: "Começando"
1111
href: "/pt-br/comecando"
12-
- title: "Componentes renderizáveis"
12+
- title: "Componentes sem estado"
1313
href: "/pt-br/componentes-renderizaveis"
1414
- title: "Componentes com estado"
1515
href: "/pt-br/componentes-com-estado"

0 commit comments

Comments
 (0)