DEV Community

loading...
Cover image for My go-to React libraries for 2021

My go-to React libraries for 2021

Julien Hery on May 14, 2021

I’ve been working on React apps for more than 3 years now and I’ve used tons of libraries to build various applications. The last months have been ...
Collapse
bartrobel profile image
Salim Korkmaz

-State Management

-> for Network -> SWR (but RQ is same)
-> for UI -> (Redux Toolkit but Zustand seems easier)
-UI -> Material Design (Chakra or Ant is ok but no more bootstrap)
-Forms -> React Hook Form
-Framework -> Next.js
-Deploy -> Vercel
-Bonus -> yup (validation) , date-fns (date things) , classnames (html class helper)

Collapse
csulit profile image
Christian Angelo M Sulit

Do you have sample project for nextjs and ant?

Collapse
bartrobel profile image
Salim Korkmaz
Collapse
rexebin profile image
Rex

Love React Query, best library ever.
With React Query managing data for me, I find myself not wanting any third-party state management library. React's own state management is more than enough!

Coming from the same author as React Query, @tannerlinsley , React Table is a headless table library, loving it too, making tables has never been so easy.

Form: React Hook Form with yup, yes, love it.

Tooling/Building: Nrwl/Nx, love it.

UI: Material UI, love it.

Editor: TinyMCE, so easy to work with, coupled with React Hook Form, template-based document editing is so easy to build.

For importing Excel: xlsx, love it

Data table: Ag-Grid

Collapse
dthomason profile image
David

We recently migrated from MOBX to SWR, interested in trying out react query now. MUI for sure, I prefer react form hook over formik any day, yup yup. We built our own data table hook but it’s gotten bloated and causing perf issues. Diggin reacts provided tools, they seem to keep it logical without any waving hands in the way.

Collapse
lewiskori profile image
Lewis kori • Edited

I'm to new react, been using vue for a long time.
I'm curious how SWR is interchangeable with mobx.

Isn't SWR for data fetching? while mobx acts as a global store?

is there something I'm missing here with SWR so I can completely get rid of mobx.

no hate for mobx though. I love it and it's more or less similar to vuex if you've used vue.js

Thread Thread
dthomason profile image
David

You are correct, One wasn’t intended to replace the other per say, it has more to do with the type of app it is. It’s a teacher student math tool with focus on live interactions between them. So we’re making frequent api calls, as well as web sockets coming in for every problem answered. This causes an already taxing state management system to get triggered unnecessarily. And with SWR fetching the most recent data whether it be from ws or http it’s just not necessary to be storing all that in state. Miss MOBX tho, used the console getStore all the time. Now I’m stuck either drilling through REACTdevtools component section or simply console logging. Learning exactly how and when to use, useRef, useState, useMemo, useEffect, or context has been beneficial, personal skill wise.

I haven’t used Vue. Some redux and been curious about Sustand, but for now it’s classic State management for me.

😂😂

Thread Thread
lewiskori profile image
Lewis kori

Got you 😂

that sounds like a lot of work my friend. All the best lol.

Collapse
buriti97 profile image
buridev

React Query is awesome

Collapse
psiho profile image
Mirko Vukušić

MobX is my love at first sight. Never got that Redux hype after doing a few projects with MobX. With it since then.
UI... Mine is a weird choice (for business apps not planned to run on mobile)... Evergreen-UI.

Collapse
arnelenero profile image
Arnel Enero

Some time back when I was performance testing a library I was writing, I did some performance tests and saw a surprising perf difference between MobX and Redux. Guess which one was faster? MobX by a wide margin. Must be because of the reactive thing.

Collapse
julienhery profile image
Julien Hery Author

Never tried MobX but I have heard of it multiple times. When I started React I just followed the hype and used Redux. Maybe I will give it a try someday 😃
There's just too many UI libraries 😂 Tried AntD and loved it but I'm sure there's plenty of other cool libraries !

Collapse
dthomason profile image
David

I loved MOBX when we had it, but it’s heavy on the clients, been using SWR with standard out of the box react state management.

Collapse
zzoukk profile image
zZouKk • Edited

React Hook Form + Yup is great for handling forms!

Collapse
recruiterkasey profile image
Kasey Wickens

Hi Julian
I am looking for React developers who know their libraries. If you can recommend anyone you mentor in the States, feel free to pass my info on to them.
Kasey.Wickens@OdysseyIS.com

Collapse
agathambrose profile image
Agatha Ambrose

I'm not in the states, but I could be of use to you since I'm a React Developer and I'm a fan of libraries for faster web app development

Collapse
manlikecliff profile image
ManLikeCliff

Not only does it feel good to see a fellow Nigerian here but also a female dev 🙂, Hello Agatha? I hope Kasey considers you really.

Thread Thread
agathambrose profile image
Agatha Ambrose

Hello Cliff! Fingers crossed!

Thread Thread
manlikecliff profile image
ManLikeCliff

Do follow back, anything yet?

Collapse
arnelenero profile image
Arnel Enero

I'm fond of using Material UI. I like its overall structure, the wide variety of pre-built components and the theming system. Apart from that, I use my own stuff, especially for state management and routing (well it's just a wrapper for React Router anyway), because I like the simplest approach. I usually don't use specialized libraries, and only if they're absolutely needed in the project. And I use the simplest patterns and architecture appropriate for the specific project. All these are to keep onboarding time to minimum for whenever we have new team members, as well as to keep existing team members happy.

Collapse
bennodev19 profile image
BennoDev • Edited

'Have you recently used new libraries or are you still using the good old ones ?'

To be honest, I built my own solutions for most of the libraries mentioned above.

  • For State Management, I use AgileTs, which is a more flexible approach of State Management where you basically create States like global variables [github.com/agile-ts/agile]
  • For 'Form Management', I built another library called 'Multieditor' which serves as an extension of the State Manager I've created. [github.com/agile-ts/agile/tree/mas...]
  • For 'Testing' I use Jest and Testing Library

The libraries mentioned in the blog post are great too..
but they didn't fit my needs ;D

Collapse
bhatanagarntn profile image
bhatanagarntn

Excellent. It's really an informative stuff. I will be very useful for my post
Forgivenes Quotes and Inspirational Quotes and

Collapse
rizkyrajitha profile image
Rajitha Gunathilake

+1 for React Hook Form .
it's awesome

Collapse
millergregor profile image
Greg Miller

+1 for zustand. Easy and powerful at the same time.

Collapse
abazieudochukwu profile image
abazieudochukwu

Good post thanks

Collapse
big78113828 profile image
Big

state management --> mobx
UI --> plain ol' html and css (from a Figma mockup)
Forms --> plain ol' react/html
framework --> Create-React-App
async fetch --> axios

Collapse
dastasoft profile image
dastasoft

I use the same libraries as you but changed Ant design to Chakra UI for the same styling reasons.

Collapse
pffigueiredo profile image
pffigueiredo

I do prefer *day.js * for dates management after trying both (day.js and date-fns).

But this list, absolutely rocks, well played man!

Collapse
sagnikb7 profile image
Sagnik B

I think Formik along with the yup integration is worth mentioning. It is my favourite form library

Collapse
diogo405 profile image
Diogo Goncalves

SWR, Recoil, styled-components, RTL, Cypress & react-router-dom ✌️

Collapse
dthomason profile image
David

YES Cypress FTW

Collapse
imjituchauhan profile image
Jitu Chauhan

Awesome libraries. I m also working on my Geeks UI.
Its build with Bootstrap 5.
Thank you

Collapse
ivanjeremic profile image
Ivan Jeremic • Edited

Atomic state managers like jotai and recoil are the future and give you everything you need. They can do client and server state so basically replace redux and react-query

Collapse
rubender profile image
Ruslan

my zen stuck
preact github.com/preactjs/preact
state manager redoor github.com/rubender/redoor
expressjs
mongodb
:-)

Collapse
funky12 profile image
Attitude king

good. it's really useful for my post Dosti Status.

Collapse
fires3as0n profile image
fires3as0n • Edited

If you have problems with understanding on how something as simple as Redux works, I have a bad news for you.

Collapse
julienhery profile image
Julien Hery Author

I never said I had trouble understanding it 🙂 My point is that it can be complicated when you're starting React and IMO you need to write too much things to do a simple task
But I've used it many many many times and felt very satisfied with it ! But I think there's easier and lighter alternatives today 🙂

Collapse
fires3as0n profile image
fires3as0n

I see your point, the simpler - the better, of course, but I still think that in large scale applications redux is a good way to go, also debugging using redux devtools is very conveinient.

Collapse
rakeshv07018495 profile image
Rakesh verma
Collapse
salvoravida profile image
Salvatore Ravidà

github.com/salvoravida/recoil-toolkit
Helpers for Recoil, the next generation state management library.

Collapse
rakeshv07018495 profile image
Rakesh verma

good. it's really useful for my post diksha singh boyfriend name.

Collapse
npongracic profile image
Nebojša Pongračić

If you're using Antd, you don't need another lib to handle forms, Antd has this built in. :)
Also Redux-toolkit looks like a good way to use Redux but without the overhead.