DEV Community

Discussion on: Is div still a div?

Collapse
 
gnatson profile image
πŸ¦„ Sebastiano

In case we're talking about JSX

For me it's absolutely fascinating how things evolve. What you wrote about is an example of how something animate arises from inanimate things. Earlier, some "dead" elements such as the aforementioned div were available to developers. These days the community has decided that we use reactive components to build the application.

Just in case someone has a boring Monday πŸ˜…

// πŸ˜‰ Place me different places in your app and I promise to work
// ❀ I'm fascinating inside
// πŸ”¨It's super easy to move me around your application structure
// ...
<MenuBar/>

// πŸ‘‹ Click one of the buttons that I `render()` to make me fly away from you
<Dragon/>
<Dragon/>

// There are different species of course 😊
// πŸ”₯ My buttons are red
<FireDragon/>

// πŸ’ͺ Every my button is disabled by default and you cannot change it...
<DarkDragon/>

// πŸ€— You can put elements in me and I will make them more wonderful
// πŸ’Ύ I save myself (my state) in `localStorage` and in the clouds (aws) when you accidentally close the application
<AwesomeNotes>
    <h1>My awesome adventure</h1>
    <div>Lorem ipsum</div>
    <textarea>Lorem ipsum</textarea>
    <p>Note created {timestamp} in {location}</p>
</AwesomeNotes>

<MagicPanel rules={[dragonsAllowed: false]}>
    <RichMenuItem/>
    <RichMenuItem/>
    <RichMenuItem/>
    {/* Ooppsss... πŸ˜‚ */}
    <DarkDragon/>
</MagicPanel>

I know it is a bit abstract answer but it was supposed to be 😸.

Collapse
 
proticm profile image
Milos Protic

Yes, we are talking about JSX :)

Do note that div is just an example element, the title is an abstract assumption that we no longer write normal good old HTML.

I mean, since React team introduced the JSX (as far as I know), our components do contain the word div but contextually it is not. It gets compiled to JavaScript that creates the div. So basically we have an extra step comparing to the old ways of doing things. I cannot decide whether this (everything is JavaScript) is good or bad, considering that it's really powerful and useful for templating.

Collapse
 
aziziyazit profile image
Azizi Yazit

We should use semantic HTML over div like Article, Nav, Header, Section and many more. Its super hard to debug JSX when everything is just a div.