News for hackers. Stuff that matters.
Re:React 16 by Shywim on Tuesday September 26, 2017 @01:33PM (#15340827)
Depends what you call idiomatic. I dont think JSX is really a JavaScript idiom, more like a HTML idiom applied to JavaScript which happen to be often used together.*

At the end of the day, I think that calling something idiomatic is subjective and so, varies from people to people.

*: to be clear, my point is many people use JSX with React because it feels idiomatic (I manipulate HTML/DOM, so why not just write with HTML-like syntax?) but it is not idiomatic to JavaScript and I don't think the other React APIs are that nice to use. If I didn't use JSX with React, I'd tend to use other framework because, in my opinion, they make more sense.

Re:React 16 by l1ambda on Tuesday September 26, 2017 @01:35PM (#15340842)
JSX is optional.
Re:React 16 by bpicolo on Tuesday September 26, 2017 @02:40PM (#15341430)
It's optional, and also not optional. Nobody is using React without JSX in practice, because it's ugly and verbose.
Re:React 16 by l1ambda on Tuesday September 26, 2017 @05:58PM (#15342881)
Not true, without JSX, React is basically Mithril, if you alias React.createElement to a short function name.
Re:React 16 by bpicolo on Tuesday September 26, 2017 @06:09PM (#15342972)
Yeah, and I'm arguing that it's pretty ugly to write nested html that way.

Hater-or-lover of JSX, it is definitely an intuitive way to think about HTML in the context of JS.

I prefer the vue model that's a bit closer to the metal, though, if only because of quirks like className

Re:React 16 by l1ambda on Tuesday September 26, 2017 @06:22PM (#15343093)
Think I see what you are getting at--in practice most folks using React are going to use JSX and build tools, and if you alias the function it's kind of non-standard.

Mithril has "class" instead of "className"; that irks me too.

Re:React 16 by oceanswave on Tuesday September 26, 2017 @01:50PM (#15340985)
And vue optionally supports Jsx, so original comment or using it as a reason why ‘react sucks’ is being super pandentic. It’s ok to have multiple frameworks!
Re:React 16 by Touche on Tuesday September 26, 2017 @02:18PM (#15341251)
Optional features contribute to a tool's complexity, especially when every single example assumes you are using said optional feature.
Re:React 16 by cnp on Wednesday September 27, 2017 @01:43AM (#15345197)
And <Foo bar={'hi!'} /> is the same as Foo({ bar: 'hi!' })