Skip to content

Commit

Permalink
Merge branch 'v2' of https://github.com/dt-fe/weekly into v2
Browse files Browse the repository at this point in the history
  • Loading branch information
ascoders committed Jul 8, 2019
2 parents f65b11e + 3545836 commit cc364c4
Showing 1 changed file with 2 additions and 2 deletions.
4 changes: 2 additions & 2 deletions 109.精读《Vue3.0 Function API》.md
Original file line number Diff line number Diff line change
Expand Up @@ -275,9 +275,9 @@ const Component = {

由于 `setup` 函数仅执行一次,怎么做到当 `useMouse` 导致 `x``y` 值变化时,可以在 `setup` 中拿到最新的值?

在 React 中,`useMouse` 如果修改了 `x` 的值,那么使用 `useMouse` 的函数就会被重新执行,以此拿到最新的 `x`,而在 Vue 中,将 Hooks 与 Immutable 深度结合,通过包装 `x.value`,使得当 `x` 变更时,引用保持不变,仅值发生了变化。所以 Vue 利用 Proxy 监听机制,可以做到 `setup` 函数不重新执行,但 Template 重新渲染的效果。
在 React 中,`useMouse` 如果修改了 `x` 的值,那么使用 `useMouse` 的函数就会被重新执行,以此拿到最新的 `x`,而在 Vue 中,将 Hooks 与 Mutable 深度结合,通过包装 `x.value`,使得当 `x` 变更时,引用保持不变,仅值发生了变化。所以 Vue 利用 Proxy 监听机制,可以做到 `setup` 函数不重新执行,但 Template 重新渲染的效果。

这就是 Immutable 的好处,Vue Hooks 中,不需要 `useMemo` `useCallback` `useRef` 等机制,仅需一个 `value` 函数,直观的 Mutable 修改,就可以实现 React 中一套 Immutable 性能优化后的效果,这个是 Mutable 的魅力所在。
这就是 Mutable 的好处,Vue Hooks 中,不需要 `useMemo` `useCallback` `useRef` 等机制,仅需一个 `value` 函数,直观的 Mutable 修改,就可以实现 React 中一套 Immutable 性能优化后的效果,这个是 Mutable 的魅力所在。

## Vue Hooks 的优势

Expand Down

0 comments on commit cc364c4

Please sign in to comment.