Vue3 编写的最佳实践是怎样的?

99 天前
 yesterdaysun

最近刚用上 Vue3, 我在写 Vue3 的时候总感觉代码非常的散, 稍微复杂的页面里, 就是一堆的 const ref, computed, 更不用说一堆的 xxxLoading, xxxVisible, showXXX, hideXXX, 感觉写 Vue2 的时候也没这么乱过, 如果说要提取所谓 Composiable 组件, 感觉又是一堆的 useXXX, 导出一堆的 xxx,xxx 好像也没好到哪里去, 是我写的姿势不对吗? 这方面的最佳实践到底是什么, 有没有哪个开源项目让我参考参考?

7760 次点击
所在节点    Vue.js
80 条回复
zcf0508
98 天前
项目推荐看看 elk ,和 vue 核心团队人员做的

https://github.com/elk-zone/elk
zcf0508
98 天前
@zcf0508 是 vue 核心成员做的

发错了🤦‍♂️
Terry05
98 天前
Composition API 最大的好处是可以更好组织和抽象,然而组织和抽象又需要经验和设计,觉得不好掌握可以考虑用回 Option API ,慢慢理解 Composition API 的优势
beyondstars
98 天前
更快的交付和更好的交付。对于任何框架皆然。一个是快速做出来并且满足功能要求,二个是 bug 少然后后续好扩展、好维护。
mizuhashi
98 天前
@yesterdaysun 你可以讓 composable 返回一個 reactive object ,例如

```
function useComposable() {
const r = ref()
const c = computed(() => xxx)
return reactive({
r,
c
})
}

const composable = useComposable()
composable.c // 模板裏
```
starlion
98 天前
来学习下 vue3
dream4ever
98 天前
@ylsAGI +1 ,Nuxt 很多功能开箱即用,挺省心的。
ckvv
98 天前
模仿这两个项目写就行了
组件: https://github.com/element-plus
组合 API: https://github.com/vueuse/vueuse
jenhe
98 天前
https://github.com/dirkhe1051931999/quasar-typescript-admin-template

小弟不才,斗胆推荐下我的写法,vue3+vue-facing-decorator+vuex-module-decorators
jenhe
98 天前
@jenhe #49
<template>
<div class="fullscreen bg-blue text-white text-center q-pa-md flex flex-center">
<div>
<div style="font-size: 30vh">404</div>
<div class="text-h2" style="opacity: 0.4">Oops. Nothing here...</div>
<q-btn class="q-mt-xl" color="white" text-color="blue" unelevated to="/dashboard" label="Go Home" />
</div>
</div>
</template>

<script lang="ts">
import { Component, Vue } from 'vue-facing-decorator';

@Component({
name: 'myComponents404',
})
export default class myComponents404 extends Vue {
mounted() {
this.$router.push('/dashboard');
}
}
</script>


自我感觉 class 方式写起来很舒服
BeijingBaby
98 天前
最郁闷的是 vue3 和 vue2 完全就是 2 个不同的东西,没法相互兼容,很多老项目还在用 vue2 ,根本无法升级。

就因为这样弃掉 vue 的,新项目完全用 reactjs 了,毕竟到时候又弄个 vue4 不兼容 3 和 2 咋办。
Oliveira5
98 天前
有没有大佬推荐几个用 Vue3 写的好的库,想看一下大家的最佳实践
jenhe
98 天前
shisico
98 天前
@Immortal 最近从 Vue 切换到 React 一段时间之后,感觉写 TSX 也太爽了!
Huelse
98 天前
composition api 不就是 react 的组织方式?
如果开发人员水平不够的话写什么都是一坨屎,换言之也能写得很好
pakholeung372
98 天前
@dfkjgklfdjg react 的容器和展示组件拆分现在看来是一个非常不好的实践,真实的业务往往有些代码不知道是放容器还是展示,导致实践起来很割裂,过度拆分还影响性能;现在完全可以用 hooks 来代替。简单来你要觉得处理数据的代码很多很杂,你就拆到 hook 里维护就好了
Immortal
98 天前
@shisico #54
Vue 也可以用 TSX
alleluya
98 天前
@Zzzz77 #30 我对这个现在 ppt 的项目印象挺深的 Vue3 刚有的时候就有这个项目了吧我记得?
alleluya
98 天前
@zcf0508 #40 非常好用 见到一次就必须给你评论一次😘
coolcoolxk
98 天前
@RogerL openapi-typescript 大佬这个东西是干嘛的?没太看明白呢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://ex.noerr.eu.org/t/1143721

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX