πΒ Reference
πΒ Chapter
shallowReactiveλ μ΄λ¦ κ·Έλλ‘ 'μμ(Shallow)' λ°©μμ λ°μμ±μ μ 곡νλ ν¨μμ΄λ€.reactiveκ° κ°μ²΄μ λͺ¨λ μ€μ²©λ μμ±κΉμ§ λ€μ Έμ λ°μνμΌλ‘ λ§λλ κ²κ³Ό λ¬λ¦¬, λ± μ²« λ²μ§Έ μμ€(Root level)μ μμ±λ§ λ°μνμΌλ‘ λ§λ λ€.| νΉμ§ | reactive (κΉμ λ°μμ±) | shallowReactive (μμ λ°μμ±) |
|---|---|---|
| μμ± κ°μ | λͺ¨λ κ³μΈ΅μ μμ±μ κ°μν¨ | μ΅μμ μμ±λ§ κ°μν¨ |
| μ±λ₯ | κ°μ²΄κ° ν¬κ³ κΉμμλ‘ μ΄κΈ°ν λΉμ© λ°μ | μ΄κΈ°ν μλκ° λΉ λ¦ |
| μ€μ²© κ°μ²΄ λ³κ²½ | UIκ° μ¦μ μ λ°μ΄νΈλ¨ | κ°μ λ³νμ§λ§ UIλ λ°μνμ§ μμ |
μμ 1
import { reactive, shallowReactive, watchEffect } from 'vue';
const state = shallowReactive({
count: 0,
nested: {
bar: 10
}
});
// 1. μ΅μμ μμ± λ³κ²½ (λ°μν¨!)
state.count++; // UIκ° μ
λ°μ΄νΈλκ³ κ΄λ ¨ ν¨κ³Όκ° μ€νλ©λλ€.
// 2. μ€μ²©λ μμ± λ³κ²½ (λ°μ μ ν¨!)
state.nested.bar = 20;
// μ€μ κ°μ 20μΌλ‘ λ°λμ§λ§, Vueλ μ΄ λ³νλ₯Ό κ°μ§νμ§ λͺ»ν©λλ€.
// λ°λΌμ UI μ
λ°μ΄νΈκ° μΌμ΄λμ§ μμ΅λλ€.