๐ย Reference
๐ย Chapter
shallowRef
์ ์ข
์๋ ๋ฐ์ํ ํจ๊ณผ(effects)๋ฅผ ๊ฐ์ ๋ก ์คํํ๋๋ก ๋ง๋๋ ํจ์์ด๋ค. ์ด๋ ์ฃผ๋ก shallowRef
์ ๋ด๋ถ ๊ฐ์ด ๊น๊ฒ ๋ณ๊ฒฝ๋์์ ๋ ์ฌ์ฉ๋๋ค.shallowRef
๋ .value
์์ฒด๊ฐ ์๋ก์ด ๊ฐ์ผ๋ก ๋์ฒด๋ ๋๋ง ๋ณ๊ฒฝ์ ๊ฐ์งํ๊ณ ๋ฐ์ํ๋ค.shallowRef
์ .value
๊ฐ ๊ฐ์ฒด์ผ ๋, ๊ทธ ๊ฐ์ฒด์ ๋ด๋ถ ์์ฑ์ ๋ณ๊ฒฝํ๋ ๊ฒ์ ๊ฐ์งํ์ง ๋ชปํ๋ค.triggerRef
๋ ๊ฐ์งํ์ง ๋ชปํ ๋ณ๊ฒฝ ์ฌํญ์ ๋ํด Vue์๊ฒ "์ด shallowRef
๊ฐ ๋ฐ๋์์ผ๋, ์ด ref
์ ์์กดํ๋ ๋ชจ๋ ๊ณณ(์: watchEffect
, ์ปดํฌ๋ํธ ๋ ๋๋ง)์ ์
๋ฐ์ดํธํด์ผ ํ๋ค"๊ณ ์๋์ผ๋ก ์๋ ค์ฃผ๋ ์ญํ ์ ํ๋ค.์์ฑ | ๋ด์ฉ |
---|---|
์ฉ๋ | 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" ์ถ๋ ฅ