V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
zjsxwc
V2EX  ›  程序员

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

  •  
  •   zjsxwc ·
    zjsxwc · Mar 20, 2018 · 5013 views
    This topic created in 2971 days ago, the information mentioned may be changed or developed.

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

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

    Supplement 1  ·  Mar 20, 2018
    跟着 react 文档写 xo 游戏走了一步,感觉 jsx 很强大,但 jsx 也比 vue 模板更辣眼睛。而且 jsx 应该可以做到运行时动态返回 jsx,vue 模板写死了,运行起来后好像不能变
    27 replies    2018-03-20 21:51:05 +08:00
    cloudzqy
        1
    cloudzqy  
       Mar 20, 2018
    虽然我用 react,但是我喜欢模板语法。
    react 的 issue 上早期就很多不满意 jsx 的,我记得那个 issue 有人提出用三目来解决条件渲染的问题,下面一堆👏。可是一堆三目也辣眼睛呀,一个 v-if 多爽。
    反正就是各有千秋,可是 jsx 更辣眼睛。
    ycz0926
        2
    ycz0926  
       Mar 20, 2018
    站在一个前端新手的角度,接触 vue 和 react 后,更喜欢 react (组件化的概念)
    zenxds
        3
    zenxds  
       Mar 20, 2018
    习惯问题,react 刚出来怎么看都是在开历史倒车,现在用久了也挺 shuang
    Lxxyx
        4
    Lxxyx  
       Mar 20, 2018 via Android
    react。因为是纯 JS 的东西。Vue 是写起来方便,但是出了问题就很头疼了
    maichael
        5
    maichael  
       Mar 20, 2018
    React 是在 js 中嵌了 HTML,而 Vue 是在 HTML 中嵌了 js。

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

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

    当然,看 React 的更新趋势,迟点也许能看到在 jsx 里写 template 的可能。
    hlwjia
        6
    hlwjia  
    PRO
       Mar 20, 2018
    react + 1 比较认同 js 里嵌 html

    vue 也写过,都很不错,只是更认同 react 的理念
    miyalee
        7
    miyalee  
       Mar 20, 2018
    一个 js 里写 html,一个 html 里写 js,看个人习惯咯
    solobat
        8
    solobat  
       Mar 20, 2018
    react 理念不错,不过 jsx 确实没有 vue-template 写着爽
    chairuosen
        9
    chairuosen  
       Mar 20, 2018
    如果你要写复杂灵活的渲染逻辑,用 Jsx。
    如果你要快速的写出简单的渲染逻辑,用 vue。
    mars0prince
        10
    mars0prince  
       Mar 20, 2018
    vue 更方便,但是复杂了就是 react,vue 的 jsx 和 render 函数及其简陋,约等于不能用
    djyde
        11
    djyde  
       Mar 20, 2018
    函数式地写 UI 本身是个好东西,但是 JSX 比 template 难用很大的原因在于 JavaScript 这门语言太... 像 if else 这种问题,其实用例如 ReasonML 这种语言,pattern matching 就能解决这种问题。
    zhuangzhuang1988
        12
    zhuangzhuang1988  
       Mar 20, 2018
    jquery + 字符串拼接
    这才爽。
    chairuosen
        13
    chairuosen  
       Mar 20, 2018
    vue 模板的局限在于,你能实现的逻辑都是官方 directive 或者自己 directive 预先设计好的逻辑,一旦有什么想扩展的地方,要么在 method 写一个方法来做,要么再写一个 directive,render 逻辑就分散在各处了比较乱。
    还有一个缺点是 directive 必须基于某个 vnode,有些时候你不得不套一些无意义的 div,比如 v-for 套 v-if,或者多层 if else。
    aoaione
        14
    aoaione  
       Mar 20, 2018
    mark
    notreami
        15
    notreami  
       Mar 20, 2018
    都不满意。
    不能单纯的只讲 React、Vue。一个工程,怎么可能只用一个框架就可以了,前端的配置,以及各种库。实在是头疼。。
    折腾半天,突然觉得,项目复杂度不高,还是 Jquery + bootstarp 方便。
    qiuyk
        16
    qiuyk  
       Mar 20, 2018
    我觉得只是习惯问题,习惯了其实都挺方便的,就像加不加分号一样。我猜写后端的估计更喜欢模板,写前端的估计更喜欢 jsx。更纠结的问题应该是 react 和 vue 的各种概念吧,特别是 react 那一堆。
    catoncat
        17
    catoncat  
       Mar 20, 2018
    大部分 UI 逻辑都可以用 template 解决,加上双向绑定开发速度已经很快了。不满足的时候可以自己写 directive 或者直接用 render function
    notedown
        18
    notedown  
       Mar 20, 2018
    需求简单的.react 根据好看的代码.
    我 vue 也是用 jsx 语法
    cuzfinal
        19
    cuzfinal  
       Mar 20, 2018
    我感觉 vue 的更方便
    zhjie
        20
    zhjie  
       Mar 20, 2018
    问题是哪个方便,我选 vue
    exonuclease
        21
    exonuclease  
       Mar 20, 2018 via iPhone
    小项目 vue 舒服 大点的 灵活性要求高的还是 react
    suzic
        22
    suzic  
       Mar 20, 2018 via Android
    我觉得 html 模板做的好的应该是 angular,vue。
    react 那个看起来太乱了
    duan602728596
        23
    duan602728596  
       Mar 20, 2018
    我选择 jsx
    hjdtl
        24
    hjdtl  
       Mar 20, 2018
    这两个都用过,熟悉了之后,各有优点吧。写的最舒服的还是 jade 模板。
    hansnow
        25
    hansnow  
       Mar 20, 2018
    React 爽就爽在从头到尾都在写 JS,JSX 作为一种 JS 描述 DOM 结构的语法糖已经很赞啦,如果到处都是 createElement 那代码简直没法看了
    zkaip
        26
    zkaip  
       Mar 20, 2018
    React 是 JS 为中心, Vue 是模板快速开发为中心, 自己喜欢那个就用哪个
    voidcomma
        27
    voidcomma  
       Mar 20, 2018 via iPhone
    我比较熟悉 vue,但是不喜欢 .vue 文件这种形式,经常用 render 函数直接写...最近在学 react,更喜欢 react 加上 styled-component 这种形式。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   990 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 85ms · UTC 22:08 · PVG 06:08 · LAX 15:08 · JFK 18:08
    ♥ Do have faith in what you're doing.