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


🔗 相关资源


📖 继续阅读


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

相关推荐
子兮曰3 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰3 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
一隅论数智3 天前
给AI一张“业务概念地图“:本体如何从哲学走向企业智能
大数据·人工智能·经验分享·笔记·学习·学习方法·政务
上海广测检测科技有限公司3 天前
智能平板出口巴西合规详解:Anatel射频、Inmetro电源/电池与LGPD数据合规叠加
经验分享
前端小万3 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝3 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
A黄俊辉A3 天前
uniapp webview中实现 app和内嵌的H5双向通信
vue.js·json
三十而立洋3 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
晨米酱3 天前
AGENTS.md:Agent 的上下文策略层
面试·架构·agent
卡布鲁3 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js