DEV Community

Discussion on: Discuss: React component libraries compatible with emotion and TypeScript?

Collapse
 
franky47 profile image
François Best

I use Chakra UI in Next.js, and I really enjoy it. It's currently being entirely rewritten in TypeScript (the support is already great in the production branch, but having native types will make it even more awesome).

Collapse
 
whitphx profile image
Yuichiro Tachibana (Tsuchiya)

Thank you!
It sounds nice, and yes, Chakra seems very active and growing.
Do you think it has some advantages over other libraries?

Collapse
 
franky47 profile image
François Best • Edited

I'm not familiar with the other libraries you mentioned, but what I like in Chakra is:

  • Accessibility by design
  • Style props†
  • Complete set of UI elements, easy to override and compose

† I was a big fan of the styled-components approach, but it generates a lot of boilerplate to override styles locally, whereas the styled-system / style props approach makes it really easy, at the cost of mixing style and functional props, but which is an acceptable trade-off IMHO.

Thread Thread
 
whitphx profile image
Yuichiro Tachibana (Tsuchiya)

Thank you!

I have been using only the bare css prop of emotion to customize predefined components, but not styled-system... and yes, my concern is the additional overhead, but your comment below is one answer.

the cost of mixing style and functional props, but which is an acceptable trade-off IMHO.

That seems to be a good option to choose!

And other points are also attractive.

easy to override and compose

Yes, this is one thing I think is important and what I need css prop (or styled system!) for.