Skip to content

Commit

Permalink
fix: fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
w2xi committed Jan 30, 2024
1 parent 0e9cc20 commit 596b9c0
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 6 deletions.
2 changes: 1 addition & 1 deletion demo/01-how-to-build-reactivity-data.html
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
effect()

setTimeout(() => {
// 2 秒后修改响应式数据
// 1 秒后修改响应式数据
obj.text = 'Hello Vue3!'
}, 1000)
</script>
2 changes: 1 addition & 1 deletion demo/26-counter-using-render-function-options.html
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@
const { count, plus, minus } = props
return h('div', { class: 'demo'}, [
h('button', { onClick: minus }, '-1'),
h('span', { class: 'count' }, count),
h('span', { class: 'count' }, String(count)),
h('button', { onClick: plus }, '+1')
])
}
Expand Down
18 changes: 14 additions & 4 deletions slides.md
Original file line number Diff line number Diff line change
Expand Up @@ -553,7 +553,7 @@ effect(function effectFn1() {
})
```

分析以上代码可知,当发生 effect 嵌套时,**内层副作用函数 effectFn2 的执行会覆盖掉 activeEffect 的值**,并且永远不会恢复到原来的值,这就是问题产生的元因
分析以上代码可知,当发生 effect 嵌套时,**内层副作用函数 effectFn2 的执行会覆盖掉 activeEffect 的值**,并且永远不会恢复到原来的值,这就是问题产生的原因

那么,应该如何解决这个问题吗 ?

Expand Down Expand Up @@ -604,8 +604,8 @@ console.log('结束了')
现在假设我们期望输出的顺序如下:
```js
1
2
'结束了'
2
```

---
Expand Down Expand Up @@ -1958,7 +1958,7 @@ function createCodegenContext() {
function genCode(node, context) {
const { push, indent, deIndent } = context
const fnName = 'render'
const args = ['_ctx', 'config']
const args = ['_ctx']
const signature = args.join(', ')

push(`return `)
Expand All @@ -1968,7 +1968,7 @@ function genCode(node, context) {
push(`{`)
// 缩进
indent()
push(`const { h, _toDisplayString } = config`)
push(`const { h, _toDisplayString } = MiniVue`)
indent()
push(`return `)
genNode(node, context)
Expand Down Expand Up @@ -2590,6 +2590,16 @@ createApp({

</div>

---

## 总结

我们依次实现了 响应式系统和模板编译,然后结合这两者实现了简单的挂载和更新。

有了这些基础,我们就可以做一些有趣的事情了。比如写一个计数器的demo,它能做到响应式更新,而且只更新需要更新的部分。

到这里,可以说我们实现了一个乞丐版 `Vue`,不过它只能处理相对简单的场景,但是对理解 Vue3 内部的原理还是非常有帮助的。

---
layout: image
image: /mikoto-misaka.jpg
Expand Down

0 comments on commit 596b9c0

Please sign in to comment.