React 的常用钩子函数在Vue中是如何设计体现出来的。

1、定义响应式数据:

React 通过 useState 和 useReducer Vue 通过 ref 和 reactive

javascript 复制代码
  const [state, setState] = useState(initialState)
  const [state, dispatch] = useReducer(reducer, initialState)

2、定义缓存数据:

React 通过 memo 和 useMemo useCallback

Vue 通过 v-memo 指令和 computed 计算属性

javascript 复制代码
 memo 允许你在属性不变时跳过重新渲染组件。
 useMemo 是一个 React 钩子,可让你在重新渲染之间缓存计算结果。
 useCallBack 包裹就能防止函数体在渲染的时候重复创建

3、访问 DOM 元素 && 获取组件实例

React 通过 useRef

javascript 复制代码
const chartRef = useRef(null)
chartRef.current

Vue 通过 $refs 或 useTemplateRef获取DOM, 通过 getCurrentInstance 函数获取组件实例

javascript 复制代码
const { proxy } = getCurrentInstance()
proxy.$refs["ruleFormRef"].validate(valid => {})
proxy.$modal.msgSuccess("修改成功")

4、DOM循环

React:

javascript 复制代码
<ul>
  {colors.map((color) => (
    <li key={color}>{color}</li>
  ))}
</ul>

Vue:

javascript 复制代码
<ul>
  <li
    v-for="color in colors"
    :key="color"
  >
    {{ color }}
  </li>
</ul>

5、点击事件

javascript 复制代码
React: <button onClick={incrementCount}>+1</button>
Vue:  <button @click="incrementCount">+1</button>

6、生命周期

组件加载时:

javascript 复制代码
React useEffect 
VUe onMounted 

7、startTransition 和 useTransition 搜索和过滤后大规模的数据渲染

javascript 复制代码
const [isPending, startTransition] = useTransition();
startTransition(() => {
  // 此处的更新会被标记为低优先级
  setState(newValue);
});

8、Suspense

是一个内置组件,用来在组件树中协调对异步依赖的处理 相当于vue的 Suspense

9、ViewTransition

ViewTransition 以帮助你制作基于状态变化的过渡和动画 相当于vue的 Transition

相关推荐
李明卫杭州1 小时前
Vue2 portal-target 组件与 Vue3 的针对性优化
前端·javascript·vue.js
Tyler_12 小时前
iOS PlayWright mcp server
前端·ios·ai编程
嘟嘟07172 小时前
从零理解 MCP:手写一个本地 MCP Server 并接入 LangChain Agent
前端·后端
cocoafei2 小时前
GPT-5.6 后,别再混淆 ChatGPT 和 Codex 额度了
前端·人工智能·chatgpt
你怎么知道我是队长2 小时前
JavaScript的函数介绍
开发语言·前端·javascript
weedsfly2 小时前
观察者模式 vs 发布-订阅模式:从概念到实战,一次讲清楚
前端·javascript·面试
暗不需求2 小时前
手写 AJAX:从 XMLHttpRequest 到封装一个简易 axios
前端·面试
cxxcode2 小时前
CSS Loader 与样式处理链路
前端·css
电商API_180079052472 小时前
电商ERP 自动同步订单功能实现拆解与技术手段
服务器·前端·网络·爬虫
cxxcode2 小时前
CSS 隔离与 qiankun 样式问题总结
前端