Skip to content

Commit 70fa490

Browse files
committed
Review in guide/composition-api-setup
1 parent 80017fc commit 70fa490

File tree

1 file changed

+34
-34
lines changed

1 file changed

+34
-34
lines changed

src/guide/composition-api-setup.md

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,22 @@
11
# Configuração
22

3-
> Esta seção usa a sintaxe de [componente de um arquivo](single-file-component.html) para exemplos de código.
3+
> Esta seção usa a sintaxe de [componente single file](single-file-component.html) para exemplos de código.
44
5-
> Este guia assume que você já leu a [Introdução à API de Composição](composition-api-introduction.html) e [Fundamentos de Reatividade](reactivity-fundamentals.html). Leia-os primeiros se você é novo à API de composição (Composition API).
5+
> Este guia assume que você já leu a [Introdução à API de Composição](composition-api-introduction.html) e [Fundamentos da Reatividade](reactivity-fundamentals.html). Leia-os primeiro se você é novo em API de composição (Composition API).
66
77
## Argumentos
88

99
Ao usar a função `setup`, ela receberá dois argumentos:
1010

1111
1. `props`
1212
2. `context`
13-
13+
1414
Vamos nos aprofundar em como cada argumento pode ser usado.
1515

16-
### Props
16+
### `props`
1717

1818
O primeiro argumento da função `setup` é o argumento `props`. Assim como é de se esperar em um componente padrão, `props` dentro de uma função `setup` são reativos e serão atualizados quando novos props são passados.
1919

20-
2120
```js
2221
// MyBook.vue
2322

@@ -30,11 +29,11 @@ export default {
3029
}
3130
}
3231
```
33-
:::warning
34-
No entanto, porque os `props` são reativos, você **não pode usar desestruturação de objetos com ES6** porque isso vai remover sua reatividade.
32+
:::warning Atenção
33+
No entanto, porque os `props` são reativos, você **não pode usar a desestruturação de objetos do ES6** porque isso vai remover sua reatividade.
3534
:::
3635

37-
Se você precisa desestruturar seus props, você o pode fazer seguramente usando o [toRefs](reactivity-fundamentals.html#destructuring-reactive-state) dentro da função `setup`.
36+
Se você precisa desestruturar seus props, você o pode fazer seguramente usando o [toRefs](reactivity-fundamentals.html#desestruturar-estado-reativo) dentro da função `setup`.
3837

3938
```js
4039
// MyBook.vue
@@ -47,29 +46,29 @@ setup(props) {
4746
console.log(title.value)
4847
}
4948
```
50-
### Contexto
5149

52-
O segundo argumento passado para a função `setup` é o `contexto`. O `contexto` é um objeto Javascript normal que expõe três propriedades do componente:
50+
### `context`
5351

52+
O segundo argumento passado para a função `setup` é o `context`. O `context` é um objeto Javascript normal que expõe três propriedades do componente:
5453

5554
```js
5655
// MyBook.vue
5756

5857
export default {
5958
setup(props, context) {
60-
// Attributes (Non-reactive object)
59+
// Atributos (objeto não reativo)
6160
console.log(context.attrs)
6261

63-
// Slots (Non-reactive object)
62+
// Slots (objeto não reativo)
6463
console.log(context.slots)
6564

66-
// Emit Events (Method)
65+
// Emissão de Eventos (método)
6766
console.log(context.emit)
6867
}
6968
}
7069
```
7170

72-
O objeto `contexto` é um objeto normal Javascript (ou seja, não é reativo, o que significa que você pode seguramente utilizar a desestruturação ES6 nele)
71+
O objeto `context` é um objeto normal Javascript, ou seja, não é reativo, o que significa que você pode seguramente utilizar a desestruturação ES6 nele.
7372

7473
```js
7574
// MyBook.vue
@@ -79,9 +78,10 @@ export default {
7978
}
8079
}
8180
```
82-
`attrs` e `slots` são objetos com estados que sempre são atualizados quando o componente é atualizado. Isso significa que você deve evitar desestruturá-los e sempre referenciar suas propriedades por meio de `attrs.x` ou `slots.x`. Note também que, diferente de `props`, `attrs` e `slots` não são reativos. Se você busca aplicar efeitos baseados em mudanças nos `attrs` ou `slots`, você deveria fazê-lo dentro do hook de ciclo de vida `onUpdate`.
8381

84-
## Accessando propriedades de componentes
82+
`attrs` e `slots` são objetos com estados que sempre são atualizados quando o componente é atualizado. Isso significa que você deve evitar desestruturá-los e sempre referenciar suas propriedades por meio de `attrs.x` ou `slots.x`. Note também que, diferente de `props`, `attrs` e `slots` **não** são reativos. Se você busca aplicar efeitos baseados em mudanças nos `attrs` ou `slots`, você deveria fazê-lo dentro do hook de ciclo de vida `onUpdate`.
83+
84+
## Acessando Propriedades de Componentes
8585

8686
Quando o `setup` é executado, a instância do componente ainda não foi criada. Como resultado, você somente poderá acessar as seguintes propriedades:
8787

@@ -96,41 +96,40 @@ Em outras palavras, você **não terá acesso** às seguintes opções de compon
9696
- `computed`
9797
- `methods`
9898

99-
## Usos com os Templates
99+
## Uso com _Templates_
100100

101-
Se `setup` retorna um objeto, as propriedades no objeto podem ser acessadas no template do componente, assim como as propriedades do `props` passadas para o `setup`:
102-
103-
If `setup` returns an object, the properties on the object can be accessed in the component's template, as well as the properties of the `props` passed into `setup`:
101+
Se `setup` retorna um objeto, as propriedades no objeto podem ser acessadas no _template_ do componente, assim como as propriedades do `props` passadas para o `setup`:
104102

105103
```vue-html
106104
<!-- MyBook.vue -->
107105
<template>
108-
<div>{{ nomeDaColecao }}: {{ numeroDeLeitores }} {{ livro.titulo }}</div>
106+
<div>{{ collectionName }}: {{ readersNumber }} {{ book.title }}</div>
109107
</template>
110108
111109
<script>
112110
import { ref, reactive } from 'vue'
113111
114112
export default {
115113
props: {
116-
nomeDaColecao: String
114+
collectionName: String
117115
},
118116
setup(props) {
119-
const numeroDeLeitores = ref(0)
120-
const livro = reactive({ titulo: 'Vue 3 Guide' })
117+
const readersNumber = ref(0)
118+
const book = reactive({ title: 'Guia do Vue 3' })
121119
122-
// expose to template
120+
// expor ao template
123121
return {
124-
numeroDeLeitores,
125-
livro
122+
readersNumber,
123+
book
126124
}
127125
}
128126
}
129127
</script>
130128
```
131-
Note que [refs](../api/refs-api.html#ref) que é retornado do `setup` é [automaticamente desestruturado](/guide/reactivity-fundamentals.html#ref-unwrapping) quando acessado no template, portanto você não deveria usar `.value` nos templates.
132129

133-
## Uso com funções de renderização
130+
Note que o [refs](../api/refs-api.html#ref) que é retornado do `setup` é [automaticamente desempacotado](/guide/reactivity-fundamentals.html#ref-desempacotada) quando acessado no _template_, portanto você não deveria usar `.value` nos _templates_.
131+
132+
## Uso com Funções de Renderização
134133

135134
`setup` pode, inclusive, retornar uma função de renderização que pode diretamente fazer uso do estado reativo declarado no mesmo escopo:
136135

@@ -141,13 +140,14 @@ import { h, ref, reactive } from 'vue'
141140

142141
export default {
143142
setup() {
144-
const numeroDeLeitores = ref(0)
145-
const livro = reactive({ titulo: 'Vue 3 Guide' })
143+
const readersNumber = ref(0)
144+
const book = reactive({ title: 'Guia do Vue 3' })
146145
// Por favor, note que precisamos explicitamente expor o valor de ref aqui
147-
return () => h('div', [readersNumber.value, book.titulo])
146+
return () => h('div', [readersNumber.value, book.title])
148147
}
149148
}
150149
```
151-
# Uso de `this`
152150

153-
**Dentro de `setup()`, `this` não será uma referência à instância atualmente ativa**. Já que `setup()` é chamado antes que as outras opções do componente são resolvidas, `this` dentro de `setup()` vai se comportar diferentemente do `this` noutras opções. Isso pode causar confusões ao se usar o `setup()` com outras API de Opções.
151+
## Uso do `this`
152+
153+
**Dentro de `setup()`, `this` não será uma referência à instância atualmente ativa**. Já que `setup()` é chamado antes que as outras opções do componente sejam resolvidas, `this` dentro de `setup()` vai se comportar diferentemente do `this` de outras opções. Isso pode causar confusões ao se usar o `setup()` com outras API de Opções.

0 commit comments

Comments
 (0)