2 - Reactivity fundamentals Flashcards

(14 cards)

1
Q

Em Composition API, qual o modo recomendado para declarar estado reativo?

A

Em Composition API, o modo recomendado é utilizando a função ref().

A função ref() recebe um argumento e o retorna encapsulado dentro de um objeto ref com uma propriedade .value.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quais tipos de dados podem ser usados com ref()?

A

Ref pode ser usado com valores de qualquer tipo, incluindo objetos aninhados, arrays, ou estruturas JS como Maps

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Como ativar reatividade em elementos internos de objetos usando ref()?

A

Por padrão, ao utilizar objetos com ref, eles já são profundamente reativos “deeply reactive”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Como “desativar” reatividade profunda em objetos com ref()?

A

Vue disponibiliza a função “shallowRef()”, que torna reativo apenas as propriedades acessadas com .value. Essa função pode ser usada para otimizar performance ao evitar o trackeamento de objetos muito grandes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Por que precisamos usar .value para acessar propriedades em um ref()?

A

Como em JS não há como detectar acesso ou mutação de valores primitivos. Quando usamos ref() o Vue retorna um objeto com o valor passado pro método em uma propriedade chamada value. Isso permite ao Vue implementar seu sistema de reatividade

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Para que serve o método nextTick?

A

O método nextTick() no Vue serve para executar um código JavaScript somente depois que o DOM foi atualizado em resposta a uma mudança de estado reativo.

Quando você altera um estado reativo, o Vue não atualiza o DOM imediatamente. Ele aguarda o próximo “tick” do ciclo de atualização para aplicar todas as mudanças de forma eficiente. Isso significa que se você tentar acessar o DOM logo após mudar um estado, pode acabar pegando o valor antigo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Para que é usado o método reactive() do Vue?

A

Reactive é o segundo método disponível em Vue para declarar estados reativos. Essa função funciona apenas para objetos e retorna uma Proxy. Desse modo não há necessidade de usar .value() para recuperar os dados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Quais são as limitações do Reactive?

A
  • Não funciona com valores primitivos;
  • Não permite reatribuição do objeto por completo sem que se perca a reatividade;
  • Não permite a utilização de destructuring sem que se perca a reatividade
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Para que é usado o método computed()?

A

Computed() é utilizado para realizar computação sobre propriedades reativas sem modificar os dados originais. É um método útil de realizar computação sobre dados de modo a remover lógica complexa no template.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Qual o valor retornado por uma computada e como ele pode ser acessado?

A

O valor retornado é uma computed ref(). Similar ao ref() ela pode ser acessada com .value

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Qual a diferença entre usar uma propriedade computada e um método?

A

Propriedades computadas são mais performáticas que métodos, já que usam cache de suas dependências, de modo que só são recalculadas quando algumas das dependências muda. Já métodos são executados quando qualquer re-renderização ocorre.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Como é possível acessar o valor anteriormente retornado por uma computada?

A

A partir da versão 3.4 do Vue é posível receber um argumento na computada que guarda o valor anterior, como em computed((prev) => {})

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

O que acontece se você tentar atribuir um valor diretamente a uma propriedade computada?

A

Você receberá um aviso de tempo de execução (runtime warning), já que, por padrão, propriedades computadas são somente leitura

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Como pode-se atribuir valores a uma computada?

A

Não é comum nem recomendado realizar atribuição de valor em uma computada, mas, nos raros casos em que se deseje fazer isso, é possível ao prover um getter e um setter a uma computada, como em: const fullName = computed({ get() {…}, set(newVal) {…} })

How well did you know this?
1
Not at all
2
3
4
5
Perfectly