DEV Community

Discussion on: React's default way of appending itself to a DOM tree considered harmful

Collapse
 
amplanetwork profile image
Ampla Network

html.spec.whatwg.org/multipage/dom...

There is clearly nothing harmful at all. Ids are made to direct targeting a UNIQUE element in the dom. There is nothing in the specification that prevent anyone to use it, especially when scripting.

The way you want to separate CSS from the code is ok, but don't say something is harmfull just without any real materials.

Modifying the production server in the middle of the night for CSS purpose is Harmfull, not targeting Id. This is only your opinion, no real proof of any kind in any official documentation. Your example makes no sense.

No one do that in real life. And if you delete the line ... You delete attribute too.

Collapse
 
iamandrewluca profile image
Andrei Luca • Edited

This is only your opinion

What you wrote here is only your opinion also ))
Have you ever experienced making a page builder in React? You will be amazed how much hacks you have to do, to make it work. So yes, this use case is valid one and makes sense.

<div data-role-react-root="block-1"></div>
<div data-role-react-root="other-block"></div>
<div data-role-react-root="block-1"></div>
<div data-role-react-root="some-other-block"></div>

<!-- block-1.js -->
<script>
    document.querySelectorAll('[data-role-react-root="block-1"]').forEach(rootElement => {
        const Block1 = () => React.createElement('div', { children: ['my block 1']})
        ReactDOM.render(React.createElement(Block1), rootElement);
    })
</script>
Enter fullscreen mode Exit fullscreen mode
Collapse
 
trumbitta profile image
William Ghelfi

Wow, dude. So much hate.