7 ms·
I have a huge problem with this change explained here: https://gist.github.com/deadlyicon/da8c020662ea8e6002dc https://gist.github.com/deadlyicon/da8c020662ea8e
by jaredgrippe 12y ago
I have a huge problem with this change explained here: https://gist.github.com/deadlyicon/da8c020662ea8e6002dc https://gist.github.com/deadlyicon/da8c020662ea8e6002dc
- chenglou 12y agoRest assured, see sebmarkbage's and my reply here: https://news.ycombinator.com/item?id=8523732 https://news.ycombinator.com/item?id=8523732 https://news.ycombinator.com/item?id=8524465 https://news.ycombinator.com/item?id=8524465
- jaredgrippe 12y agoThe object literal syntax also sucks :( https://gist.github.com/deadlyicon/79c09610cac5a67f4a5d https://gist.github.com/deadlyicon/79c09610cac5a67f4a5d
- spion 12y agoAgreed. * JSX more tightly coupled, * less straightforward JSX->JS mapping - I used to be so excited to tell people how JSX simply maps to function calls in JS... well, now it generates boilerplate instead. * worse non-JSX syntax I don't buy the ES6/CS/TS argument - wrapping classes with createFactory before exporting seems fine to me, and I use typescript. Also, from what I can see the object literal syntax is always worse. So its basically all about Jest. The only reason I see is that a mocking tool can't handle factories. Makes me a bit sad. Seems like a good example of "test induced design damage" to me. How about adding plugins to that mocking tool instead?
- peterhunt 12y agoIf you wrap the class in createFactory() then you break instanceof; how is this fine?
- chenglou 12y agoSee my link on sebmarkbage's reply. It's not just for Jest.
- spion 12y agoOkay, except for JSX I agree that the change towards native classes is for the better. But the change in JSX seems to be just for Jest. JSX could still compile to function calls and stay completely decoupled from React. A new function `createFactory` would be introduced that takes a class argument and produces a factory, making ES6, CS and TS users pleased. No backward-compatibility breakage would be introduced. edit: removed a non-constructive paragraph. Will play around with the new version more before commenting further. Hopefully I'll understand why JSX is a lot more complicated than it used to be :/
- malandrew 12y agohttps://github.com/mlmorg/react-hyperscript https://github.com/mlmorg/react-hyperscript