๐Ÿ“šย Reference


๐Ÿ“œย Chapter


shallowRef()

triggerRef()


์—ญํ• 


์†์„ฑ ๋‚ด์šฉ
์šฉ๋„ shallowRef์— ์ข…์†๋œ ํšจ๊ณผ๋ฅผ ๊ฐ•์ œ๋กœ ํŠธ๋ฆฌ๊ฑฐ
์ฃผ์š” ์‚ฌ์šฉ ์‹œ์  shallowRef์˜ ๋‚ด๋ถ€ ๊ฐ’(๊ฐ์ฒด)์„ ๊นŠ๊ฒŒ ๋ณ€๊ฒฝํ•œ ํ›„, Vue์˜ ๋ฐ˜์‘์„ฑ ์‹œ์Šคํ…œ์— ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์•Œ๋ ค์•ผ ํ•  ๋•Œ
ํƒ€์ž… function triggerRef(ref: ShallowRef): void

์˜ˆ์‹œ


import { shallowRef, watchEffect, triggerRef } from 'vue';

const shallow = shallowRef({ greet: 'Hello, world' });

watchEffect(() => {
  // shallow.value์— ์˜์กดํ•˜๋Š” ํšจ๊ณผ
  console.log(shallow.value.greet);
}); // ์‹คํ–‰ ์‹œ "Hello, world" ์ถœ๋ ฅ

// 1. ๋‚ด๋ถ€ ๊ฐ’ ๊นŠ๊ฒŒ ๋ณ€๊ฒฝ
shallow.value.greet = 'Hello, universe'; 
// shallowRef๋Š” ๋‚ด๋ถ€ ๋ณ€๊ฒฝ์„ ๊ฐ์ง€ํ•˜์ง€ ๋ชปํ•˜๋ฏ€๋กœ, watchEffect๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰๋˜์ง€ ์•Š์Œ.

// 2. triggerRef๋กœ ๊ฐ•์ œ ์—…๋ฐ์ดํŠธ
triggerRef(shallow); 
// watchEffect๊ฐ€ ๊ฐ•์ œ๋กœ ๋‹ค์‹œ ์‹คํ–‰๋˜์–ด "Hello, universe" ์ถœ๋ ฅ