问前端, react 的 jsx 与 vue 的模板语法哪个更方便?

2018-03-20 09:55:01 +08:00
 zjsxwc

react 是这种完全以 js class 层面管理与组织代码,感觉会了 js 自然就会了 react。

vue 模板语法在感觉要更像 html。

4443 次点击
所在节点    程序员
27 条回复
cloudzqy
2018-03-20 10:11:23 +08:00
虽然我用 react,但是我喜欢模板语法。
react 的 issue 上早期就很多不满意 jsx 的,我记得那个 issue 有人提出用三目来解决条件渲染的问题,下面一堆👏。可是一堆三目也辣眼睛呀,一个 v-if 多爽。
反正就是各有千秋,可是 jsx 更辣眼睛。
ycz0926
2018-03-20 10:13:56 +08:00
站在一个前端新手的角度,接触 vue 和 react 后,更喜欢 react (组件化的概念)
zenxds
2018-03-20 10:18:43 +08:00
习惯问题,react 刚出来怎么看都是在开历史倒车,现在用久了也挺 shuang
Lxxyx
2018-03-20 10:19:07 +08:00
react。因为是纯 JS 的东西。Vue 是写起来方便,但是出了问题就很头疼了
maichael
2018-03-20 10:33:10 +08:00
React 是在 js 中嵌了 HTML,而 Vue 是在 HTML 中嵌了 js。

当然,你也可以在 Vue 中使用 jsx,也可以在 React 中使用 template (区别是 Vue 有自带的 jsx 实现,React 只有社区的 template 实现)。

如果你说的是 jsx 和 template 之间的比较,那么我觉各有优劣,前者对循环之类的语法能够处理的很好,但是对一些简单的判断的处理又很蹩脚。

当然,看 React 的更新趋势,迟点也许能看到在 jsx 里写 template 的可能。
hlwjia
2018-03-20 10:35:50 +08:00
react + 1 比较认同 js 里嵌 html

vue 也写过,都很不错,只是更认同 react 的理念
miyalee
2018-03-20 10:53:21 +08:00
一个 js 里写 html,一个 html 里写 js,看个人习惯咯
solobat
2018-03-20 10:57:17 +08:00
react 理念不错,不过 jsx 确实没有 vue-template 写着爽
chairuosen
2018-03-20 10:57:50 +08:00
如果你要写复杂灵活的渲染逻辑,用 Jsx。
如果你要快速的写出简单的渲染逻辑,用 vue。
mars0prince
2018-03-20 11:00:02 +08:00
vue 更方便,但是复杂了就是 react,vue 的 jsx 和 render 函数及其简陋,约等于不能用
djyde
2018-03-20 11:12:45 +08:00
函数式地写 UI 本身是个好东西,但是 JSX 比 template 难用很大的原因在于 JavaScript 这门语言太... 像 if else 这种问题,其实用例如 ReasonML 这种语言,pattern matching 就能解决这种问题。
zhuangzhuang1988
2018-03-20 11:17:31 +08:00
jquery + 字符串拼接
这才爽。
chairuosen
2018-03-20 11:20:03 +08:00
vue 模板的局限在于,你能实现的逻辑都是官方 directive 或者自己 directive 预先设计好的逻辑,一旦有什么想扩展的地方,要么在 method 写一个方法来做,要么再写一个 directive,render 逻辑就分散在各处了比较乱。
还有一个缺点是 directive 必须基于某个 vnode,有些时候你不得不套一些无意义的 div,比如 v-for 套 v-if,或者多层 if else。
aoaione
2018-03-20 11:22:27 +08:00
mark
notreami
2018-03-20 11:31:49 +08:00
都不满意。
不能单纯的只讲 React、Vue。一个工程,怎么可能只用一个框架就可以了,前端的配置,以及各种库。实在是头疼。。
折腾半天,突然觉得,项目复杂度不高,还是 Jquery + bootstarp 方便。
qiuyk
2018-03-20 11:33:40 +08:00
我觉得只是习惯问题,习惯了其实都挺方便的,就像加不加分号一样。我猜写后端的估计更喜欢模板,写前端的估计更喜欢 jsx。更纠结的问题应该是 react 和 vue 的各种概念吧,特别是 react 那一堆。
crs0910
2018-03-20 11:41:45 +08:00
大部分 UI 逻辑都可以用 template 解决,加上双向绑定开发速度已经很快了。不满足的时候可以自己写 directive 或者直接用 render function
notedown
2018-03-20 11:43:22 +08:00
需求简单的.react 根据好看的代码.
我 vue 也是用 jsx 语法
cuzfinal
2018-03-20 11:47:10 +08:00
我感觉 vue 的更方便
zhjie
2018-03-20 11:48:34 +08:00
问题是哪个方便,我选 vue

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

https://www.v2ex.com/t/439604

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

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

© 2021 V2EX