Skip to content

Commit a184a75

Browse files
authored
Merge pull request #220 from kevinbreaker/master
Translating "api/composition-api.md"
2 parents 72e2885 + 5b5b78f commit a184a75

File tree

2 files changed

+49
-50
lines changed

2 files changed

+49
-50
lines changed

src/api/composition-api.md

Lines changed: 47 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
1-
# Composition API
1+
# API de Composição
22

3-
> This section uses [single-file component](../guide/single-file-component.html) syntax for code examples
3+
> Esta seção usa a sintaxe de [Componentes Single-File](../guide/single-file-component.html) como exemplos de códigos
44
55
## `setup`
66

7-
A component option that is executed **before** the component is created, once the `props` are resolved, and serves as the entry point for composition API's
7+
Uma opção de componente que é executada **antes** do componente ser criado, uma vez que as `props` são resolvidas, e serve como um ponto de entrada para a *API* de composição
88

9-
- **Arguments:**
9+
- **Argumentos:**
1010

1111
- `{Data} props`
1212
- `{SetupContext} context`
1313

14-
- **Typing**:
14+
- **Tipagem**:
1515

1616
```ts
1717
interface Data {
@@ -27,13 +27,13 @@ interface SetupContext {
2727
function setup(props: Data, context: SetupContext): Data
2828
```
2929

30-
::: tip
31-
To get type inference for the arguments passed to `setup()`, the use of [defineComponent](global-api.html#definecomponent) is needed.
30+
::: tip Dica
31+
Para obter a inferência de tipos para os argumentos passados para o `setup()`, é necessário o uso do [defineComponent](global-api.html#definecomponent).
3232
:::
3333

34-
- **Example**
34+
- **Exemplo**
3535

36-
With the template:
36+
Com o *template*:
3737

3838
```vue-html
3939
<!-- MyBook.vue -->
@@ -47,9 +47,9 @@ To get type inference for the arguments passed to `setup()`, the use of [defineC
4747
export default {
4848
setup() {
4949
const readersNumber = ref(0)
50-
const book = reactive({ title: 'Vue 3 Guide' })
50+
const book = reactive({ title: 'Guia do Vue 3' })
5151
52-
// expose to template
52+
// Expõe para o template
5353
return {
5454
readersNumber,
5555
book
@@ -59,7 +59,7 @@ To get type inference for the arguments passed to `setup()`, the use of [defineC
5959
</script>
6060
```
6161

62-
With render function:
62+
Com função de renderização:
6363

6464
```js
6565
// MyBook.vue
@@ -69,43 +69,42 @@ To get type inference for the arguments passed to `setup()`, the use of [defineC
6969
export default {
7070
setup() {
7171
const readersNumber = ref(0)
72-
const book = reactive({ title: 'Vue 3 Guide' })
73-
// Please note that we need to explicitly expose ref value here
72+
const book = reactive({ title: 'Guia do Vue 3' })
73+
// Observe que precisamos expor explicitamente o valor do "ref" aqui.
7474
return () => h('div', [readersNumber.value, book.title])
7575
}
7676
}
7777
```
7878

79-
- **See also**: [Composition API `setup`](../guide/composition-api-setup.html)
79+
- **Veja também**: [`setup` da API de Composição](../guide/composition-api-setup.html)
8080

81-
## Lifecycle Hooks
81+
## Gatilhos de Ciclo de Vida
8282

83-
Lifecycle hooks can be registered with directly-imported `onX` functions:
83+
Os gatilhos de ciclo de vida podem ser registrados com funções `onX` importadas diretamente:
8484

8585
```js
8686
import { onMounted, onUpdated, onUnmounted } from 'vue'
8787
8888
const MyComponent = {
8989
setup() {
9090
onMounted(() => {
91-
console.log('mounted!')
91+
console.log('Montado!')
9292
})
9393
onUpdated(() => {
94-
console.log('updated!')
94+
console.log('Atualizado!')
9595
})
9696
onUnmounted(() => {
97-
console.log('unmounted!')
97+
console.log('Desmontado!')
9898
})
9999
}
100100
}
101101
```
102102

103-
These lifecycle hook registration functions can only be used synchronously during [`setup()`](#setup), since they rely on internal global state to locate the current active instance (the component instance whose `setup()` is being called right now). Calling them without a current active instance will result in an error.
103+
Essas funções de registro de gatilhos de ciclo de vida somente podem ser usadas de forma síncrona durante o [`setup()`](#setup), já que elas dependem do estado global para localizar a instância ativa atual (a instância do componente onde o `setup()` está sendo chamado agora). Chamá-los sem uma instância ativa resultará em um erro.
104104

105-
The component instance context is also set during the synchronous execution of lifecycle hooks. As a result, watchers and computed properties created synchronously inside of lifecycle hooks are also automatically tore down when the component unmounts.
106-
107-
- **Mapping between Options API Lifecycle Options and Composition API**
105+
O contexto da instância do componente também é definido durante a execução síncrona dos gatilhos de ciclo de vida. Como resultado, os observadores e os dados computados criados de forma síncrona dentro dos gatilhos de ciclo de vida também são destruídos automaticamente quando o componente é desmontado.
108106

107+
- **Mapeamento das Opções de Ciclo de Vida entre a API de Opções e API de Composição**
109108
- ~~`beforeCreate`~~ -> use `setup()`
110109
- ~~`created`~~ -> use `setup()`
111110
- `beforeMount` -> `onBeforeMount`
@@ -118,50 +117,50 @@ The component instance context is also set during the synchronous execution of l
118117
- `renderTracked` -> `onRenderTracked`
119118
- `renderTriggered` -> `onRenderTriggered`
120119

121-
- **See also**: [Composition API lifecycle hooks](../guide/composition-api-lifecycle-hooks.html)
120+
- **Veja também**: [Gatilhos de ciclo de vida da API de Composição](../guide/composition-api-lifecycle-hooks.html)
122121

123-
## Provide / Inject
122+
## Prover / Injetar
124123

125-
`provide` and `inject` enables dependency injection. Both can only be called during [`setup()`](#setup) with a current active instance.
124+
`provide` e `inject` ativam a injeção de dependência. Ambos só podem ser chamados durante o [`setup()`](#setup) com uma instância atual ativa.
126125

127-
- **Typing**:
126+
- **Tipagem**:
128127

129128
```ts
130129
interface InjectionKey<T> extends Symbol {}
131130
132131
function provide<T>(key: InjectionKey<T> | string, value: T): void
133132
134-
// without default value
133+
// Sem valor padrão
135134
function inject<T>(key: InjectionKey<T> | string): T | undefined
136-
// with default value
135+
// Com valor padrão
137136
function inject<T>(key: InjectionKey<T> | string, defaultValue: T): T
138137
```
139138

140-
Vue provides an `InjectionKey` interface which is a generic type that extends `Symbol`. It can be used to sync the type of the injected value between the provider and the consumer:
139+
O Vue fornece uma interface `InjectionKey` que é um tipo genérico que estende de `Symbol`. Isso pode ser usado para sincronizar o tipo do valor injetado entre o provedor e consumidor:
141140

142141
```ts
143142
import { InjectionKey, provide, inject } from 'vue'
144143

145144
const key: InjectionKey<string> = Symbol()
146145

147-
provide(key, 'foo') // providing non-string value will result in error
146+
provide(key, 'foo') // Prover um valor que não seja string resultará em um erro.
148147

149-
const foo = inject(key) // type of foo: string | undefined
148+
const foo = inject(key) // tipo de foo: string | undefined
150149
```
151150

152-
If using string keys or non-typed symbols, the type of the injected value will need to be explicitly declared:
151+
Se estiver usando chaves do tipo String ou Symbols não tipados, o tipo do valor injetado precisará ser declarado explicitamente:
153152

154153
```ts
155154
const foo = inject<string>('foo') // string | undefined
156155
```
157156

158-
- **See also**:
159-
- [Provide / Inject](../guide/component-provide-inject.html)
160-
- [Composition API Provide / Inject](../guide/composition-api-provide-inject.html)
157+
- **Veja também**:
158+
- [Prover e Injetar Dados](../guide/component-provide-inject.html)
159+
- [Prover e Injetar Dados na API de Composição](../guide/composition-api-provide-inject.html)
161160

162161
## `getCurrentInstance`
163162

164-
`getCurrentInstance` enables access to an internal component instance useful for advanced usages or for library creators.
163+
`getCurrentInstance` permite acesso a uma instância interna do componente, útil para usos mais avançados ou para criadores de bibliotecas.
165164

166165
```ts
167166
import { getCurrentInstance } from 'vue'
@@ -170,31 +169,31 @@ const MyComponent = {
170169
setup() {
171170
const internalInstance = getCurrentInstance()
172171

173-
internalInstance.appContext.config.globalProperties // access to globalProperties
172+
internalInstance.appContext.config.globalProperties // acesso a globalProperties
174173
}
175174
}
176175
```
177176

178-
`getCurrentInstance` **only** works during [setup](#setup) or [Lifecycle Hooks](#lifecycle-hooks)
177+
`getCurrentInstance` funciona **apenas** durante o [setup](#setup) ou [Gatilhos de Ciclo de vida](#gatilhos-de-ciclo-de-vida)
179178

180-
> When using outside of [setup](#setup) or [Lifecycle Hooks](#lifecycle-hooks), please call `getCurrentInstance()` on `setup` and use the instance instead.
179+
> Quando usado fora do [setup](#setup) ou [Gatilhos de Ciclo de vida](#gatilhos-de-ciclo-de-vida), chame o `getCurrentInstance()` no `setup` e use a instância em seu lugar.
181180
182181
```ts
183182
const MyComponent = {
184183
setup() {
185-
const internalInstance = getCurrentInstance() // works
184+
const internalInstance = getCurrentInstance() // Funciona
186185

187-
const id = useComponentId() // works
186+
const id = useComponentId() // Funciona
188187

189188
const handleClick = () => {
190-
getCurrentInstance() // doesn't work
191-
useComponentId() // doesn't work
189+
getCurrentInstance() // Não funciona
190+
useComponentId() // Não funciona
192191

193-
internalInstance // works
192+
internalInstance // Funciona
194193
}
195194

196195
onMounted(() => {
197-
getCurrentInstance() // works
196+
getCurrentInstance() // Funciona
198197
})
199198

200199
return () =>
@@ -208,7 +207,7 @@ const MyComponent = {
208207
}
209208
}
210209

211-
// also works if called on a composable
210+
// Também funciona se chamado em uma composição
212211
function useComponentId() {
213212
return getCurrentInstance().uid
214213
}

src/guide/component-template-refs.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# _refs_ de Template
1+
# *refs* &nbsp;de Template
22

33
> Esta página assume que você já leu o [Básico de Componentes](component-basics.md). Leia lá primeiro se você for novo em componentes.
44
@@ -38,7 +38,7 @@ Além disso, você pode adicionar outro `ref` ao próprio componente e usá-lo p
3838
this.$refs.usernameInput.focusInput()
3939
```
4040

41-
::: warning
41+
::: warning Atenção
4242
`$refs` é preenchido apenas após o componente ter sido renderizado. Isso serve apenas como uma saída de emergência para a manipulação direta de elementos filhos - você deve evitar acessar `$refs` de dentro de _templates_ ou dados computados.
4343
:::
4444

0 commit comments

Comments
 (0)