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 有帮助,欢迎点赞、收藏、关注!

相关推荐
海梨花2 分钟前
字节面试高频算法题
java·算法·面试·职场和发展
吠品8 分钟前
处理 Python 类继承中那些变来变去的初始化参数
linux·前端·python
折哥的程序人生 · 物流技术专研8 分钟前
《Java 100 天进阶之路》第93篇:Redis实战应用:缓存策略与分布式锁(2026版)
java·redis·缓存·面试·架构·求职招聘
云水一下11 分钟前
TypeScript 从零基础到精通(七):从配置到全栈项目落地
前端·javascript·typescript
向日的葵00617 分钟前
Vue 路由传参的三种方式(三)
vue.js·路由
法雅特吉他20 分钟前
吉他桶型技术解析:GA桶 vs D桶 vs OM桶——入门弹唱选哪个
经验分享·新媒体运营·产品运营·流量运营·用户运营·内容运营
秋天的一阵风29 分钟前
✨ 代码秒跳转、自动补全?全靠 LSP 和 AST!
前端·后端·ai编程
大头嗯呢39 分钟前
从 ACL 到零信任:权限系统设计模式的演进之路
面试·架构
如果超人不会飞39 分钟前
TinyVue Checkbox复选框组件使用指南
前端·vue.js
程序员小淞41 分钟前
写一个行政区划下拉选组件(异步+搜索)
前端