由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - react is total crap
相关主题
framework7快糙猛还是名不虚传的
现在学front end framework的话哪个最好?Web UI 入手哪个比较好?
AngularJS 怎么样?React vs Vue vs Angular的讨论都没抓住重点
AngularJS 和 BootStrap竟然已经学会了reactjs和angular js 2.
meteor 1.0 发布了,是来给AngularJS 2.0掘墓吧Javascript各种轮子发展这么快,大家迷茫吗?
雪地跪问各位大牛,javascript 客户端谁家强?有没有大牛给讲下javascript的内存泄漏
angular 的ui.router 配合REST 很强大,感觉meteor和parse server是什么关系?
有人用angular 2吗? ionic 2的alpha出来了请推荐一个javascript教程吧
相关话题的讨论汇总
话题: react话题: dom话题: angular话题: div话题: js
进入Programming版参与讨论
1 (共1页)
l**********n
发帖数: 8443
1
React Inline Styles are Fundamentally Flawed
https://byjoeybaker.com/react-inline-styles
参加一个js的会议,大牛正在讲着web component,突然冒出一句react is complete
crap。
大牛还讲了, why it is crap? because it wants to do everything in js. That
is complete nuts.
see the link above to understand yourself.
trying to render the DOM using js is also nuts.
大牛说了in many situations, using the browser native API, for example the
DOM API, and css animations are always the best choices.
by letting the framework to render the DOM for you is total nuts and the
framework is full of pitfalls and flaws.
s*********y
发帖数: 6151
2
So backbone js rules? Even Angular is crab sometimes.
l**********n
发帖数: 8443
3
this is the natural workflow:
http://www.phpied.com/rendering-repaint-reflowrelayout-restyle/
What triggers a reflow or a repaint
Anything that changes input information used to construct the rendering tree
can cause a repaint or a reflow, for example:
Adding, removing, updating DOM nodes
Hiding a DOM node with display: none (reflow and repaint) or visibility:
hidden (repaint only, because no geometry changes)
Moving, animating a DOM node on the page
Adding a stylesheet, tweaking style properties
User action such as resizing the window, changing the font size, or (oh, OMG
, no!) scrolling
l**********n
发帖数: 8443
4
those are ok. They don't get rid of the native DOM API.
React completely gets rid of the DOM API, that is why it is total crap.
you should read the article and understand the point.

【在 s*********y 的大作中提到】
: So backbone js rules? Even Angular is crab sometimes.
l**********n
发帖数: 8443
5
一个Java大牛说,java你就不要优化了,优化你也优化不过compiler,react再怎么优
化,也优化不过browser,
Browsers are smart
l**********n
发帖数: 8443
6
react的.bind(this)简直是一坨啊。都什么年代了,还bind(this),不是脑残,是什
么,现在都arrow function了。
l**********n
发帖数: 8443
7
render: function() {
return (

{this.state.items.map(function(item, i) {
var boundClick = this.handleClick.bind(this, i);
return (
/>
);
}, this)}

);
}
这个不是有病,是什么:var boundClick = this.handleClick.bind(this, i);
l**********n
发帖数: 8443
8
angular 2:

这个是不是简洁多了,没有脑残bind了。
l**********n
发帖数: 8443
9
react比angular恶心一万倍都不止。angular至少还能用jquery操作DOM,到了react,
DOM API被完全禁止了,意味着jquery完全无法使用了,如果mutate DOM using jQuery
,那么就出现这样的bug:
Uncaught Invariant Violation: Unable to find element with ID
而且根本无法debug。
d*******r
发帖数: 3299
10
我咋用 Angular1 的时候,就觉得排斥 JQuery 呢
相关主题
雪地跪问各位大牛,javascript 客户端谁家强?快糙猛还是名不虚传的
angular 的ui.router 配合REST 很强大,感觉Web UI 入手哪个比较好?
有人用angular 2吗? ionic 2的alpha出来了React vs Vue vs Angular的讨论都没抓住重点
进入Programming版参与讨论
w********m
发帖数: 1137
11
为啥为啥要pass一个function到子component
代码太老了
binding也没必要吧
  • dispatch({"type": "TOGGLE_TODO", "id": id})}
    >
    {text}


  • i}

    【在 l**********n 的大作中提到】
    : react比angular恶心一万倍都不止。angular至少还能用jquery操作DOM,到了react,
    : DOM API被完全禁止了,意味着jquery完全无法使用了,如果mutate DOM using jQuery
    : ,那么就出现这样的bug:
    : Uncaught Invariant Violation: Unable to find element with ID
    : 而且根本无法debug。

    S*******n
    发帖数: 305
    12
    js社区的发展趋势就是 出来一个新轮子,瞬间被捧上天 (特别是大厂出的),然后一堆
    人开始写x reasons i like xxx, why I migrate from yyy. 然后过一段时间开始出现
    :xxx is anti pattern. why I hate xxx. x reasons I move away from xxx. 然后
    新轮子在这中间出现。于是又是 x reasons I like zzz 周而复始,生生不息
    W***o
    发帖数: 6519
    13
    大牛对于popularity不算个屌,关键还是看eco system
    N*****m
    发帖数: 42603
    14
    同意大牛说的

    【在 l**********n 的大作中提到】
    : React Inline Styles are Fundamentally Flawed
    : https://byjoeybaker.com/react-inline-styles
    : 参加一个js的会议,大牛正在讲着web component,突然冒出一句react is complete
    : crap。
    : 大牛还讲了, why it is crap? because it wants to do everything in js. That
    : is complete nuts.
    : see the link above to understand yourself.
    : trying to render the DOM using js is also nuts.
    : 大牛说了in many situations, using the browser native API, for example the
    : DOM API, and css animations are always the best choices.

    d*******r
    发帖数: 3299
    15
    确实 XD

    【在 S*******n 的大作中提到】
    : js社区的发展趋势就是 出来一个新轮子,瞬间被捧上天 (特别是大厂出的),然后一堆
    : 人开始写x reasons i like xxx, why I migrate from yyy. 然后过一段时间开始出现
    : :xxx is anti pattern. why I hate xxx. x reasons I move away from xxx. 然后
    : 新轮子在这中间出现。于是又是 x reasons I like zzz 周而复始,生生不息

    y****6
    发帖数: 264
    16
    那么完全的js新手应该学啥?

    【在 d*******r 的大作中提到】
    : 确实 XD
    h******b
    发帖数: 6055
    17
    react把html塞入js就是love/hate, 没有中间的。
    我觉得工作数量,还有生态环境很难追上angular。当然如果你喜欢也不会有很大待遇
    上的区别。
    问题是angular 2改的太多了,你随便搜各种工作需求,轮子,插件,documentation都
    是angular 1为主,而且我真心不喜欢typescript, angular 2的documentation/例子一
    半ts一半js很烦。
    所以我还是暂时用angular 1。 ionic creator真的很强,用gui画出界面/workflow给
    客户demo,然后直接export成干净template代码开始开发后台。这种工具目前都是
    angular 1。
    y*******n
    发帖数: 20
    18
    我觉得react不错。最近用react搞了一个SPA。
    https://my.pkgrun.com/
    angular我不太喜欢,太复杂,而且以前被google坑过,所以用g家的东西提心吊胆。
    React比较轻,所以心理负担小一点。
    关于这个inline styles,这个不是必须的,我上面这个例子里面inline用的很少。主
    要还是css。
    而且inline style这个也不能一棒子打死。
    react这种把所有东西都component化的思路,确实比较适合inline style(并非必须)。
    把css单独弄出去的好处是 html这里比较clean。但是时间久了,一个项目里的css文件
    就无比复杂,很多东西要删起来很痛苦。
    React这种component自带style的,你不用的话,自己写一个component替换掉就是了,
    这边整个component扔掉就行。不用操心要清除js代码,清理不用的css。
    上面这个项目里面,用了material ui,用起来就很clean。不会污染其他地方。
    y*******n
    发帖数: 20
    19
    React用js直接渲染DOM这个我个人理解是和React长期远景是有关系的。
    到目前为止,虽然React还做不到write once,run everywhere(跨平台)。但是把DOM
    从business logic离别分离出来无疑是很重要的一步。
    这样开发者只要负责用js完成business logic就行了。至于最后渲染出来是浏览器里面
    的DOM还是其他东西,完全可以交给react负责。
    如果还是用html的模板引擎,那实际上和传统的开发没有本质区别。
    开发的趋势就是一层一层的抽象。
    我觉得目前这些轮子里面,react这个抽象是最靠谱的。
    n*w
    发帖数: 3393
    20
    ionic 2 等着angular 2.

    【在 h******b 的大作中提到】
    : react把html塞入js就是love/hate, 没有中间的。
    : 我觉得工作数量,还有生态环境很难追上angular。当然如果你喜欢也不会有很大待遇
    : 上的区别。
    : 问题是angular 2改的太多了,你随便搜各种工作需求,轮子,插件,documentation都
    : 是angular 1为主,而且我真心不喜欢typescript, angular 2的documentation/例子一
    : 半ts一半js很烦。
    : 所以我还是暂时用angular 1。 ionic creator真的很强,用gui画出界面/workflow给
    : 客户demo,然后直接export成干净template代码开始开发后台。这种工具目前都是
    : angular 1。

    相关主题
    竟然已经学会了reactjs和angular js 2.meteor和parse server是什么关系?
    Javascript各种轮子发展这么快,大家迷茫吗?请推荐一个javascript教程吧
    有没有大牛给讲下javascript的内存泄漏问个php表单提交不刷新页面的方法
    进入Programming版参与讨论
    h*********8
    发帖数: 404
    21
    Angular 要学一大堆ng tags 也是烦死了
    而且 typescript 是比较烦烦的
    React native 又比较容易
    话说Angular 2 不也要用vdom 了? 还有piggyback reactnative?
    w********m
    发帖数: 1137
    22
    你这个app看上去不错啊。
    楼上说不能用jquery的可以用你这个模版了。

    )。

    【在 y*******n 的大作中提到】
    : 我觉得react不错。最近用react搞了一个SPA。
    : https://my.pkgrun.com/
    : angular我不太喜欢,太复杂,而且以前被google坑过,所以用g家的东西提心吊胆。
    : React比较轻,所以心理负担小一点。
    : 关于这个inline styles,这个不是必须的,我上面这个例子里面inline用的很少。主
    : 要还是css。
    : 而且inline style这个也不能一棒子打死。
    : react这种把所有东西都component化的思路,确实比较适合inline style(并非必须)。
    : 把css单独弄出去的好处是 html这里比较clean。但是时间久了,一个项目里的css文件
    : 就无比复杂,很多东西要删起来很痛苦。

    O***b
    发帖数: 104
    23
    请问这个APP有教程或者模板吗?

    )。

    【在 y*******n 的大作中提到】
    : 我觉得react不错。最近用react搞了一个SPA。
    : https://my.pkgrun.com/
    : angular我不太喜欢,太复杂,而且以前被google坑过,所以用g家的东西提心吊胆。
    : React比较轻,所以心理负担小一点。
    : 关于这个inline styles,这个不是必须的,我上面这个例子里面inline用的很少。主
    : 要还是css。
    : 而且inline style这个也不能一棒子打死。
    : react这种把所有东西都component化的思路,确实比较适合inline style(并非必须)。
    : 把css单独弄出去的好处是 html这里比较clean。但是时间久了,一个项目里的css文件
    : 就无比复杂,很多东西要删起来很痛苦。

    y*******n
    发帖数: 20
    24
    没用什么模板。
    主要参考了react flux的官方todo app。
    https://github.com/facebook/flux/tree/master/examples/flux-todomvc
    routing用了react router
    https://github.com/reactjs/react-router
    build用的gulp

    【在 O***b 的大作中提到】
    : 请问这个APP有教程或者模板吗?
    :
    : )。

    d*******r
    发帖数: 3299
    25
    跟 JQuery 的插件联合用,有啥问题没

    【在 y*******n 的大作中提到】
    : 没用什么模板。
    : 主要参考了react flux的官方todo app。
    : https://github.com/facebook/flux/tree/master/examples/flux-todomvc
    : routing用了react router
    : https://github.com/reactjs/react-router
    : build用的gulp

    c*******0
    发帖数: 5247
    26

    )。
    你这个网站用Polymer一样开发很快,你说的好处都有,还不用纠缠JSX。
    Polymer和React的思想都是像搭积木一样去做网站,只不过一个是以传统html/css/
    js的方式,一种是Js all the way的方式。

    【在 y*******n 的大作中提到】
    : 我觉得react不错。最近用react搞了一个SPA。
    : https://my.pkgrun.com/
    : angular我不太喜欢,太复杂,而且以前被google坑过,所以用g家的东西提心吊胆。
    : React比较轻,所以心理负担小一点。
    : 关于这个inline styles,这个不是必须的,我上面这个例子里面inline用的很少。主
    : 要还是css。
    : 而且inline style这个也不能一棒子打死。
    : react这种把所有东西都component化的思路,确实比较适合inline style(并非必须)。
    : 把css单独弄出去的好处是 html这里比较clean。但是时间久了,一个项目里的css文件
    : 就无比复杂,很多东西要删起来很痛苦。

    y*******n
    发帖数: 20
    27
    之前很多项目里面,大致用jQuery的地方有两种。
    一种就是最简单的一些动效。
    另外一种就是大量的DOM操作,比如在前端渲染,或者巨复杂的form处理。
    用React的话,基本上DOM这部分就不需要jQuery了,所以我也没有用jQuery做DOM操作
    的需求,按照楼主所说,这里jQuery会fail,但是我没有试过。
    动效的话,我用的amaze ui,或者bootstrap里面很多是用js实现的,都需要jQuery,
    目前为止我还没发现有fail的地方。
    比如toggle一个侧边栏,或者dropdown menu之类的。

    【在 d*******r 的大作中提到】
    : 跟 JQuery 的插件联合用,有啥问题没
    l**********n
    发帖数: 8443
    28
    用jQuery,你会死得很难看。根本没法debug,没办法,我直接把jquery的插件用react
    重现实现了一遍。因为react要求list的话,就需要加key,要不然死得很难看。

    【在 d*******r 的大作中提到】
    : 跟 JQuery 的插件联合用,有啥问题没
    y*******n
    发帖数: 20
    29
    工具太多了。同样的app用什么手段都能实现。
    具体选哪一个纯粹是个人喜好问题。
    这个react的app也是我第一次用react做完整的SPA。之前只有两三次使用react的简单
    经历,就是很简单的一个页面里ajax load完数据以后渲染一个列表这样的功能。
    觉得react比较对路子纯粹是因为学习门槛低,有些地方和django有些像。react还搞了
    个简单的mixin,很好用。

    【在 c*******0 的大作中提到】
    :
    : )。
    : 你这个网站用Polymer一样开发很快,你说的好处都有,还不用纠缠JSX。
    : Polymer和React的思想都是像搭积木一样去做网站,只不过一个是以传统html/css/
    : js的方式,一种是Js all the way的方式。

    d*******r
    发帖数: 3299
    30
    主要是大量的已有lib, 插件,是依赖 JQuery 的,不知道能混用不
    当年用 Angular 1 的时候,发现用起来麻烦,prefer 封装在 Angular Directive 里面

    【在 y*******n 的大作中提到】
    : 之前很多项目里面,大致用jQuery的地方有两种。
    : 一种就是最简单的一些动效。
    : 另外一种就是大量的DOM操作,比如在前端渲染,或者巨复杂的form处理。
    : 用React的话,基本上DOM这部分就不需要jQuery了,所以我也没有用jQuery做DOM操作
    : 的需求,按照楼主所说,这里jQuery会fail,但是我没有试过。
    : 动效的话,我用的amaze ui,或者bootstrap里面很多是用js实现的,都需要jQuery,
    : 目前为止我还没发现有fail的地方。
    : 比如toggle一个侧边栏,或者dropdown menu之类的。

    相关主题
    《Professional jQuery (第1版)》英文文字版/EPUB[PDF]现在学front end framework的话哪个最好?
    java script哪个framework比较好用?AngularJS 怎么样?
    framework7AngularJS 和 BootStrap
    进入Programming版参与讨论
    d*******r
    发帖数: 3299
    31
    是不是要考虑向前兼容的话,还是 vue.js 最保险

    react

    【在 l**********n 的大作中提到】
    : 用jQuery,你会死得很难看。根本没法debug,没办法,我直接把jquery的插件用react
    : 重现实现了一遍。因为react要求list的话,就需要加key,要不然死得很难看。

    s***o
    发帖数: 2191
    32
    vue 2.0 has virtual dom and supports jsx, so it's crap too, to some 大妞 :)

    【在 d*******r 的大作中提到】
    : 是不是要考虑向前兼容的话,还是 vue.js 最保险
    :
    : react

    d*******r
    发帖数: 3299
    33
    T_T
    前端框架,天天自己乱革命,太烦了。。。

    【在 s***o 的大作中提到】
    : vue 2.0 has virtual dom and supports jsx, so it's crap too, to some 大妞 :)
    Y**G
    发帖数: 1089
    34
    主要问题不是优化吧?browser虽说都打着DOM的旗号,但是都有细微的区别。用
    virtual DOM至少不用担心browser的兼容性问题了吧?

    【在 l**********n 的大作中提到】
    : 一个Java大牛说,java你就不要优化了,优化你也优化不过compiler,react再怎么优
    : 化,也优化不过browser,
    : Browsers are smart

    h******b
    发帖数: 6055
    35
    vue太小众了。
    随便搜了一下indeed的加州angular javascript工作是1824, react是1034。vue是13个
    ,随大流绝对没错。

    【在 d*******r 的大作中提到】
    : 是不是要考虑向前兼容的话,还是 vue.js 最保险
    :
    : react

    l**********n
    发帖数: 8443
    36
    react真是一坨屎,竟然限制这么多,无法inline svg。弱智
    l**********n
    发帖数: 8443
    37
    The following SVG elements are supported in React.DOM.*:
    circle clipPath defs ellipse g image line linearGradient mask path pattern
    polygon polyline radialGradient rect stop svg text tspan
    l**********n
    发帖数: 8443
    38
    真几把脑残
    l**********n
    发帖数: 8443
    39
    真几把脑残,不支持namespace,那怎么实现动画。
    Namespace tags are not supported
    f******2
    发帖数: 2455
    40
    学前端不是找工作用,是自己业余做些项目用,主要考虑上手块


    :
    vue太小众了。

    : 随便搜了一下indeed的加州angular javascript工作是1824, react是1034。vue
    是13个

    : ,随大流绝对没错。



    【在 h******b 的大作中提到】
    : vue太小众了。
    : 随便搜了一下indeed的加州angular javascript工作是1824, react是1034。vue是13个
    : ,随大流绝对没错。

    相关主题
    AngularJS 和 BootStrapangular 的ui.router 配合REST 很强大,感觉
    meteor 1.0 发布了,是来给AngularJS 2.0掘墓吧有人用angular 2吗? ionic 2的alpha出来了
    雪地跪问各位大牛,javascript 客户端谁家强?快糙猛还是名不虚传的
    进入Programming版参与讨论
    l**********n
    发帖数: 8443
    41
    用javascript实现动画本来就是非常脑残的行为。
    l**********n
    发帖数: 8443
    42
    jsx inline html template 应该属于非常脑残的行为,应该用es6的template literal
    l**********n
    发帖数: 8443
    43
    我自己写的代码都觉得恶心:
    const getDialogContent = () => {
    return _.range(3).map((i) => {
    let r = i * 3;
    let cells = [1, 2, 3].map((c) => {
    let active = (c+r === this.state.selectedCell);
    let className = cx(s.tile, { active: active});
    return
    handleDialogTileClick.bind(this, c + r)} key={c}>{c + r}

    })
    return (
    {cells}

    )
    })
    }
    l**********n
    发帖数: 8443
    44
    用js返回html,这也是醉了。
    l**********n
    发帖数: 8443
    45
    尼玛这在angular2里这么写:


    l**********n
    发帖数: 8443
    46
    to close a dialog, I have to do this:
    handleOpen = () => {
    this.setState({open: true});
    };
    wtf
    in angular, I do this:
    this.modal.open();
    a*******o
    发帖数: 290
    47
    既然你这么讨厌它,就赶紧换回angular。没有人拿枪顶着你用react吧?

    【在 l**********n 的大作中提到】
    : to close a dialog, I have to do this:
    : handleOpen = () => {
    : this.setState({open: true});
    : };
    : wtf
    : in angular, I do this:
    : this.modal.open();

    w********m
    发帖数: 1137
    48
    不客气的说,你写的太难看
    从来没看过return里面套return的。
    要用stateless component,就不要设置状态。
    状态都给redux,argument里面进来,dispatch里面出去。
    function Board({ rows }) {
    return (

      {rows.map(row =>
      key = {row.id}
      {...row}
      />
      )}

    )
    }
    function Row({ text, dispatch }) {
    return (
  • dispatch(handleTileClick())}>
    {text}

  • )
    }

    【在 l**********n 的大作中提到】
    : 我自己写的代码都觉得恶心:
    : const getDialogContent = () => {
    : return _.range(3).map((i) => {
    : let r = i * 3;
    : let cells = [1, 2, 3].map((c) => {
    : let active = (c+r === this.state.selectedCell);
    : let className = cx(s.tile, { active: active});
    : return
    : handleDialogTileClick.bind(this, c + r)} key={c}>{c + r}

    : })

    1 (共1页)
    进入Programming版参与讨论
    相关主题
    请推荐一个javascript教程吧meteor 1.0 发布了,是来给AngularJS 2.0掘墓吧
    问个php表单提交不刷新页面的方法雪地跪问各位大牛,javascript 客户端谁家强?
    《Professional jQuery (第1版)》英文文字版/EPUB[PDF]angular 的ui.router 配合REST 很强大,感觉
    java script哪个framework比较好用?有人用angular 2吗? ionic 2的alpha出来了
    framework7快糙猛还是名不虚传的
    现在学front end framework的话哪个最好?Web UI 入手哪个比较好?
    AngularJS 怎么样?React vs Vue vs Angular的讨论都没抓住重点
    AngularJS 和 BootStrap竟然已经学会了reactjs和angular js 2.
    相关话题的讨论汇总
    话题: react话题: dom话题: angular话题: div话题: js