以下是JavaScript三大主流框架(React、Vue、Angular)的基础总结,包括核心概念、特点和简单示例:
定位: 用于构建用户界面的声明式 JavaScript 库(专注于UI层,需搭配其他库形成完整解决方案)。
核心概念:
JSX
const element = <h1>Hello, {name}</h1>;
组件化
function MyComponent() {
const [count, setCount] = useState(0);
return <button onClick={() => setCount(count + 1)}>{count}</button>;
}
this.state
和生命周期方法。状态管理
useState
、useReducer
等Hooks;复杂场景用Context API或Redux。虚拟DOM
特点:
定位: 渐进式框架(可逐步集成,核心库专注视图层)。
核心概念:
模板语法
v-if
, v-for
)。 <div>{{ message }}</div>
<button @click="increment">Click</button>
响应式数据
ref
和reactive
(基于Proxy)。 setup() {
const count = ref(0);
const increment = () => count.value++;
return { count, increment };
}
组件系统
.vue
文件,包含<template>
, <script>
, <style>
)。组合式API(Vue 3)
特点:
v-model
简化表单输入)。 定位: 全功能企业级框架(基于TypeScript,内置完整解决方案)。
核心概念:
TypeScript优先
依赖注入(DI)
@Injectable()
export class DataService { ... }
组件与装饰器
@Component
定义组件元数据。 @Component({
selector: 'app-root',
template: `<h1>{{ title }}</h1>`
})
export class AppComponent { title = 'My App'; }
模块化(@NgModule
)
特点:
[(ngModel)]
)。 特性 | React | Vue | Angular |
---|---|---|---|
语言 | JavaScript/JSX | JavaScript/HTML | TypeScript |
数据绑定 | 单向 | 双向/单向 | 双向 |
学习曲线 | 中等 | 低 | 高 |
适用场景 | 灵活生态、复杂UI | 快速开发、轻量级 | 企业级大型应用 |
掌握任一框架后,可进一步学习状态管理、路由及服务端渲染(如Next.js/Nuxt.js/Angular Universal)。