React 快速入门:Vue 开发者指南

作者:互联网

2026-03-20

Javascript教程

React 快速入门:Vue 开发者指南


一、项目结构对比

1.1 依赖管理

React (package.json):

{
  "dependencies": {
    "react": "^19.2.0",
    "react-dom": "^19.2.0"
  }
}

Vue (package.json):

{
  "dependencies": {
    "vue": "^3.4.0"
  }
}

关键差异:

  • React 分两个包:react(核心库)+ react-dom(DOM 渲染器)
  • Vue 只需要一个包
  • React 设计更通用,支持多平台(Web、Native 等)

1.2 入口文件

React (main.jsx):

import { StrictMode } from 'react'
import { createRoot } from 'react-dom/client'
import App from './App.jsx'

createRoot(document.getElementById('root')).render(
  <StrictMode>
    <App />
  StrictMode>,
)

Vue (main.js):

import { createApp } from 'vue'
import App from './App.vue'

createApp(App).mount('#app')

对比:

  • React 需要显式调用 render()
  • Vue 更简洁,一行完成创建和挂载
  • React 的 StrictMode 提供开发时检查

二、JSX:React 的模板语法

2.1 什么是 JSX?

JSX = JavaScript + XML,允许在 JS 中直接写 HTML 标签。

示例:

function App() {
  const name = "vue";
  return (
    <h1 className="title">Hello {name}!h1>
  )
}

2.2 JSX vs Vue 模板

特性React JSXVue 模板
类名classNameclass
插值{name}{{ name }}
事件onClick={handler}@click="handler"
条件{condition &&
}
v-if="condition"
列表{items.map(i =>
  • )}
  • v-for="i in items"

    2.3 JSX 的本质

    JSX 代码:

    const element = <h2>标题h2>
    

    编译后等价于:

    const element2 = React.createElement('h2', null, '标题')
    

    为什么使用 JSX?

    1. 更直观,接近 HTML
    2. 完整的 JavaScript 能力
    3. 更好的编辑器支持

    三、组件基础

    3.1 React 组件

    // 函数就是组件
    function App() {
      return <h1>Hello React!h1>
    }
    
    export default App
    

    关键点:

    • 组件是函数
    • 返回 JSX
    • 组件名必须大写(区分 HTML 标签)

    3.2 组件组合

    function Header() {
      return <header><h1>首页h1>header>
    }
    
    function Articles() {
      return <div>文章列表div>
    }
    
    function App() {
      return (
        <>
          <Header />
          <Articles />
        
      )
    }
    

    Fragment (<>):不会创建额外 DOM 节点,类似 Vue 的