Skip to content

Commit aea7066

Browse files
authored
Merge pull request #216 from LucasCastro99/patch-1
Tradução de "api/basic-reactivity.md"
2 parents 79828e7 + 8a332a5 commit aea7066

File tree

1 file changed

+33
-33
lines changed

1 file changed

+33
-33
lines changed

src/api/basic-reactivity.md

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,51 +1,51 @@
1-
# Basic Reactivity APIs
1+
# API's Básicas de Reatividade
22

3-
> This section uses [single-file component](../guide/single-file-component.html) syntax for code examples
3+
> Esta seção usa sintaxe de [componente de arquivo único](../guide/single-file-component.html) para exemplos de código
44
55
## `reactive`
66

7-
Returns a reactive copy of the object.
7+
Retorna uma cópia reativa do objeto.
88

99
```js
1010
const obj = reactive({ count: 0 })
1111
```
1212

13-
The reactive conversion is "deep"—it affects all nested properties. In the [ES2015 Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) based implementation, the returned proxy is **not** equal to the original object. It is recommended to work exclusively with the reactive proxy and avoid relying on the original object.
13+
A conversão reativa é "profunda" - ela afeta todas as propriedades aninhadas. Na implementação baseada em [ES2015 Proxy](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy), o proxy retornado **não** é igual ao objeto original. Recomenda-se trabalhar exclusivamente com o proxy reativo e evitar depender do objeto original.
1414

15-
**Typing:**
15+
**Digitando:**
1616

1717
```ts
1818
function reactive<T extends object>(target: T): UnwrapNestedRefs<T>
1919
```
2020

2121
## `readonly`
2222

23-
Takes an object (reactive or plain) or a [ref](./refs-api.html#ref) and returns a readonly proxy to the original. A readonly proxy is deep: any nested property accessed will be readonly as well.
23+
Captura um objeto (reativo ou simples) ou uma [ref](./refs-api.html#ref) e retorna um proxy somente leitura para o original. Um proxy somente leitura é profundo: qualquer propriedade aninhada acessada também será somente leitura
2424

2525
```js
2626
const original = reactive({ count: 0 })
2727
2828
const copy = readonly(original)
2929
3030
watchEffect(() => {
31-
// works for reactivity tracking
31+
// realizando o rastreamento da reatividade
3232
console.log(copy.count)
3333
})
3434
35-
// mutating original will trigger watchers relying on the copy
35+
// a mutação do "original" fará com que os observadores confiem na cópia
3636
original.count++
3737
38-
// mutating the copy will fail and result in a warning
38+
// alterar a cópia irá falhar e resultará em um aviso
3939
copy.count++ // warning!
4040
```
4141

4242
## `isProxy`
4343

44-
Checks if an object is a proxy created by [`reactive`](#reactive) or [`readonly`](#readonly).
44+
Verifica se um objeto é um proxy criado por [`reactive`](#reactive) ou [`readonly`](#readonly).
4545

4646
## `isReactive`
4747

48-
Checks if an object is a reactive proxy created by [`reactive`](#reactive).
48+
Verifica se um objeto é um proxy reativo criado por [`reactive`](#reactive).
4949

5050
```js
5151
import { reactive, isReactive } from 'vue'
@@ -59,7 +59,7 @@ export default {
5959
}
6060
```
6161

62-
It also returns `true` if the proxy is created by [`readonly`](#readonly), but is wrapping another proxy created by [`reactive`](#reactive).
62+
Ele também retorna `true` se o proxy é criado por [`readonly`](#readonly), mas está envolvendo outro proxy criado por [`reactive`](#reactive).
6363

6464
```js{7-15}
6565
import { reactive, isReactive, readonly } from 'vue'
@@ -68,13 +68,13 @@ export default {
6868
const state = reactive({
6969
name: 'John'
7070
})
71-
// readonly proxy created from plain object
71+
// proxy "readonly"(somente de leitura) criado a partir de um objeto simples
7272
const plain = readonly({
7373
name: 'Mary'
7474
})
7575
console.log(isReactive(plain)) // -> false
7676
77-
// readonly proxy created from reactive proxy
77+
// proxy "readonly"(somente de leitura) criado a partir de um proxy "reactive"
7878
const stateCopy = readonly(state)
7979
console.log(isReactive(stateCopy)) // -> true
8080
}
@@ -83,11 +83,11 @@ export default {
8383

8484
## `isReadonly`
8585

86-
Checks if an object is a readonly proxy created by [`readonly`](#readonly).
86+
Verifica se um objeto é um proxy somente de leitura criado por [`readonly`](#readonly).
8787

8888
## `toRaw`
8989

90-
Returns the raw, original object of a [`reactive`](#reactive) or [`readonly`](#readonly) proxy. This is an escape hatch that can be used to temporarily read without incurring proxy access/tracking overhead or write without triggering changes. It is **not** recommended to hold a persistent reference to the original object. Use with caution.
90+
Retorna o objeto bruto original de um proxy [`reactive`](#reactive) ou [`readonly`](#readonly). Esta é uma "válvula de escape" que pode ser usada para ler temporariamente sem incorrer em acesso de proxy/sobrecarga de rastreamento ou gravação sem acionar alterações. **Não** é recomendado manter uma referência persistente ao objeto original. Use com cuidado
9191

9292
```js
9393
const foo = {}
@@ -98,45 +98,45 @@ console.log(toRaw(reactiveFoo) === foo) // true
9898

9999
## `markRaw`
100100

101-
Marks an object so that it will never be converted to a proxy. Returns the object itself.
101+
Marca um objeto para que nunca seja convertido em proxy. Retorna o próprio objeto.
102102

103103
```js
104104
const foo = markRaw({})
105105
console.log(isReactive(reactive(foo))) // false
106106
107-
// also works when nested inside other reactive objects
107+
// também funciona quando aninhado dentro de outros objetos reativos
108108
const bar = reactive({ foo })
109109
console.log(isReactive(bar.foo)) // false
110110
```
111111

112-
::: warning
113-
`markRaw` and the shallowXXX APIs below allow you to selectively opt-out of the default deep reactive/readonly conversion and embed raw, non-proxied objects in your state graph. They can be used for various reasons:
112+
::: Atenção
113+
`markRaw` e as APIs shallowXXX abaixo permitem que você desative seletivamente a conversão profunda reativa/somente de leitura padrão e incorpore objetos brutos e não proxy em seu gráfico de estado. Eles podem ser usados por vários motivos:
114114

115-
- Some values simply should not be made reactive, for example a complex 3rd party class instance, or a Vue component object.
115+
- Alguns valores simplesmente não devem se tornar reativos, por exemplo, uma instância complexa de classe de terceiros, ou um objeto de componente Vue.
116116

117-
- Skipping proxy conversion can provide performance improvements when rendering large lists with immutable data sources.
117+
- Ignorar a conversão de proxy pode fornecer melhorias de desempenho ao renderizar grandes listas com fontes de dados imutáveis.
118118

119-
They are considered advanced because the raw opt-out is only at the root level, so if you set a nested, non-marked raw object into a reactive object and then access it again, you get the proxied version back. This can lead to **identity hazards** - i.e. performing an operation that relies on object identity but using both the raw and the proxied version of the same object:
119+
Eles são considerados avançados porque a desativação bruta está apenas no nível raiz, portanto, se você definir um objeto bruto aninhado e não marcado em um objeto reativo e acessá-lo novamente, obterá a versão em proxy de volta. Isso pode levar a **riscos de identidade** - ou seja, realizar uma operação que depende da identidade do objeto, mas usando a versão bruta e a versão proxy do mesmo objeto:
120120

121121
```js
122122
const foo = markRaw({
123123
nested: {}
124124
})
125125
126126
const bar = reactive({
127-
// although `foo` is marked as raw, foo.nested is not.
127+
// embora `foo` esteja marcado como bruto, foo.nested não está.
128128
nested: foo.nested
129129
})
130130
131131
console.log(foo.nested === bar.nested) // false
132132
```
133133

134-
Identity hazards are in general rare. However, to properly utilize these APIs while safely avoiding identity hazards requires a solid understanding of how the reactivity system works.
134+
Riscos de identidade são geralmente raros. No entanto, para utilizar adequadamente essas APIs e ao mesmo tempo evitar riscos de identidade, é necessário um conhecimento sólido de como funciona o sistema de reatividade.
135135
:::
136136

137137
## `shallowReactive`
138138

139-
Creates a reactive proxy that tracks reactivity of its own properties but does not perform deep reactive conversion of nested objects (exposes raw values).
139+
Cria um proxy reativo que rastreia a reatividade de suas próprias propriedades, mas não executa conversão reativa profunda de objetos aninhados (expõe valores brutos).
140140

141141
```js
142142
const state = shallowReactive({
@@ -146,16 +146,16 @@ const state = shallowReactive({
146146
}
147147
})
148148
149-
// mutating state's own properties is reactive
149+
// as próprias propriedades do estado mutante são reativas
150150
state.foo++
151-
// ...but does not convert nested objects
151+
// ...mas não às converte em objetos aninhados
152152
isReactive(state.nested) // false
153-
state.nested.bar++ // non-reactive
153+
state.nested.bar++ // não reativo
154154
```
155155

156156
## `shallowReadonly`
157157

158-
Creates a proxy that makes its own properties readonly, but does not perform deep readonly conversion of nested objects (exposes raw values).
158+
Cria um proxy que torna suas próprias propriedades somente de leitura, mas não executa a conversão somente leitura de profunda de objetos aninhados (expõe valores brutos).
159159

160160
```js
161161
const state = shallowReadonly({
@@ -165,9 +165,9 @@ const state = shallowReadonly({
165165
}
166166
})
167167
168-
// mutating state's own properties will fail
168+
// as próprias propriedades do estado mutante irão falhar
169169
state.foo++
170-
// ...but works on nested objects
170+
// ...mas funciona em objetos aninhados
171171
isReadonly(state.nested) // false
172-
state.nested.bar++ // works
172+
state.nested.bar++ // funciona
173173
```

0 commit comments

Comments
 (0)