Stop Writing Reusable React Components
non-traditional.dev
non-traditional.dev
Abstraction, code reuse and DRY are 3 different things. Abstraction is control, when you want the client code to conform to a pattern, so that it won't break your system. Code reuse can be either about convenience or control, can be abstraction related or not. For example when you reuse a function that perform a critical business logic, you don't do it to conform to an abstraction, nor to save time typing the function again. You do it because you want a single source of truth for that bit of logic.
Lastly DRY is purely about convenience.
They talk about concrete knobs and dials, bolted on in advance of actual requirements.
"Can do it all" isn't abstraction because it does not hide any details, doesn't abstract away anything.
So if we both have such a different take, please share which part of article motivated your comment so that we can compare in greater detail, if you please.