第4章 响应系统的作用与实现
4.1 响应式数据与副作用函数
关键词
- 响应式数据
- 副作用函数
笔记
- 副作用函数:执行该函数会直接或者间接的影响其他函数的执行,那么就认为该函数产生了副作用。比如:一个函数修改了全局变量,也是产生了副作用
// 全局变量
let val = 1
function effect() {
val = 2 // 修改全局变量,产生副作用
}
- 响应式数据:当我们修改了响应式对象的某个属性后,那么使用了该响应式对象的属性的副作用函数需要重新执行。这也就是所谓的响应。
const obj = {text: 'hello'}
function effect() {
// effect 函数会读取obj.text 的值
document.body.innerText = obj.text
}
obj.text = 'hello vue3' // 修改值,同时希望副作用函数会重新执行
// 如果能实现上面的逻辑 那么我们认为对象obj 就是响应式的数据