Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

❌ Avoid having components with too many props. ✅ Instead use the compound components pattern in React to embrace composition.

130,061 Aufrufe • vor 2 Jahren •via X (Twitter)

11 Kommentare

Profilbild von George Moller
George Mollervor 2 Jahren

I've been working professionally with React for more than 8 years and I compiled all my knowledge into 100+ infographics just like this one. Check them out ↓

Profilbild von Anthony 🇳🇬🇨🇦
Anthony 🇳🇬🇨🇦vor 2 Jahren

So you want to use a hook just to render a drop down? It was much simpler the way it was before and arguably easier to maintain Using a footer props (as html) is another solution that will eliminate 4 props. I would also pass in the children as props as well

Profilbild von George Moller
George Mollervor 2 Jahren

Let's suppose you want to add a link just to one dropdown item (really common use case), you would have to either pass in a renderItem props to the dropdown or have a check inside the dropdown at the item level like && <a href=""... This is just one use case, usually you would have many of these. That doesn't scale. With this pattern you leave the extension/customization to the consumer (App) instead of bloating the Dropdown component.

Profilbild von Michał Janaszek
Michał Janaszekvor 2 Jahren

When you get the task "use the Dropdown component (no mockups)" in the first implementation everyone knows exactly what the final look should be, in the second version the developer can create a completely different version than the creator of the task imagined.

Profilbild von George Moller
George Mollervor 2 Jahren

If you don't get mockups/requirements, how would you know if you need to render a footer for example. The same can be said about the first implementation, the developer forgets to add a footer prop and the end result is different.

Profilbild von Shripal Soni
Shripal Sonivor 2 Jahren

Nice tip to keep component open to extension, George 👍

Profilbild von George Moller
George Mollervor 2 Jahren

Glad you liked it Shripal did you use/know this pattern in React before? It's quite useful

Profilbild von Atif Riaz
Atif Riazvor 2 Jahren

This is an amazing video.. keep them coming

Profilbild von George Moller
George Mollervor 2 Jahren

Glad you liked it Atif did you know this pattern in React before?

Profilbild von Enrique Moreno
Enrique Morenovor 2 Jahren

Not a bad solution. I like it.

Profilbild von George Moller
George Mollervor 2 Jahren

Glad you liked it Enrique!

Ähnliche Videos