Vue 转 React:toRaw(),VuReact 怎么处理?

VuReact 是一个能将 Vue 3 代码编译为标准、可维护 React 代码的工具。今天就带大家直击核心:Vue 中使用的 toRaw() 经过 VuReact 编译后会变成什么样的 React 代码?

前置约定

为避免示例代码冗余导致理解偏差,先明确两个小约定:

  1. 文中 Vue / React 代码均为核心逻辑简写,省略完整组件包裹、无关配置等内容;
  2. 默认读者已熟悉 Vue 3 中 toRaw 的 API 用法与核心行为。

编译对照

Vue toRaw() → React useToRaw()

toRaw 是 Vue 3 中用于获取响应式对象原始非响应式引用的 API,通常用于调试、序列化或与非响应式库交互时。VuReact 会将它编译为 useToRaw,让 React 端也能安全地读取原始数据对象。

  • Vue 代码:
html 复制代码
<script setup>
  import { reactive, toRaw } from 'vue';

  const state = reactive({
    settings: {
      theme: 'dark',
      notifications: true,
    },
  });

  const rawData = toRaw(state);
</script>
  • VuReact 编译后 React 代码:
ts 复制代码
import { useReactive, useToRaw } from '@vureact/runtime-core';

const state = useReactive({
  settings: {
    theme: 'dark',
    notifications: true,
  },
});

const rawData = useToRaw(state);

VuReact 提供的 useToRawtoRaw 的适配 API ,可理解为「React 版的 Vue toRaw」,完全模拟 Vue toRaw 的语义------它返回的是原始对象引用,且该对象不再具有响应性,修改它不会触发视图更新。


🔗 相关资源


📖 继续阅读


✨ 如果你觉得本文对你理解 VuReact 有帮助,欢迎点赞、收藏、关注!

相关推荐
触底反弹1 小时前
一文搞懂 Tailwind CSS 弹性布局:从原理到实战
前端·css·html
阳光是sunny1 小时前
从链到图:LangGraph 入门基础全解析
前端·人工智能·后端
To_OC2 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
富唯智能2 小时前
复合机器人 vs 工业人形机器人|工厂工序选型回本方案
经验分享
小林ixn2 小时前
从 ??= 到 onKeyDown:一个 React 组件的“自我修养”
前端·javascript·react.js
REDcker2 小时前
显示分辨率标准对照详解
前端·网络·分辨率·显示·屏幕
এ慕ོ冬℘゜3 小时前
前端实战:jQuery 多条件联合搜索(标题模糊查询 + 日历时间段筛选)
前端·javascript·jquery
触底反弹3 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试
武子康3 小时前
Search Console Platform Properties 扩大 SEO 资产边界:从 Page Ranking 到 Topic Coverage(5 类误读边界 + 3 表数据层设计)
前端·人工智能·后端
随心点儿3 小时前
js postMessage 实现跨域发送消息-应用示例
javascript·ecmascript·postmessage