Open
Description
Bear with me here :)
JSX currently looks like this:
<div>
{'Name of things:' + name} -- no one really does this
Number of things: {count}
<span>
Some {cond ? children : null}
{'Some newline\n'}
</span>
</div>
What if it looked like:
<div>
'Name of things: ' + name, -- it's now intuitive to concatenate
'Number of things: ', count
<span>
'Some ', (cond ? children : null),
'Some newline\n'
</span>
</div>
- "Arbitrary" JSX white-space rules can be chucked out the window, it's JS-strings plain and simple.
- It's super easy to add and see explicit leading/tailing white-space, no weird encoded values or lazy hacks.
- It's super easy/intuitive to concatenate stringy content instead of lazily creating more children.
- It's JS through-and-through + JSX-elements, comments behave as you would expect.
I imagine that it would be possible to omit ,
, if you would really want to.
I realize this would be a ginormous departure from the heavily HTML-based syntax we have currently. From a purely theoretical/technical perspective it makes perfect sense in my opinion, but the practical aspects are obviously very questionable. I don't expect anyone to embrace this, but I think it's an interesting thought.