网站设计0基础千万不要学网络营销
以下是从 变量、方法、路由、状态管理、父子传值 等多个维度对 Vue、React、原生小程序 的对比表格:
技术对比表格
| 功能/技术 | Vue (Options/Composition API) | React (Hooks) | 原生微信小程序 |
|---|---|---|---|
| 变量定义 | data() { return { count: 0 } }(Options API)const count = ref(0)(Composition API) | const [count, setCount] = useState(0); | Page({ data: { count: 0 } }) |
| 方法定义 | methods: { increment() { this.count++ } }或 Composition API 直接定义函数 | 直接定义函数:const increment = () => setCount(count + 1); | Page({ increment() { this.setData({ count: this.data.count + 1 }) } }) |
| 模板语法 | <div @click="increment">{{ count }}</div> | <div onClick={increment}>{count}</div> | <view bindtap="increment">{{ count }}</view> |
| 路由跳转 | 使用 vue-router:this.$router.push('/path') | 使用 react-router-dom:navigate('/path')(需用 useNavigate Hook) | 原生 API:wx.navigateTo({ url: '/path' }) |
| 路由参数获取 | this.$route.params.id | const { id } = useParams();(需用 useParams Hook) | onLoad(options) { const id = options.id } |
| 状态管 |
