@kiwicom/orbit-componentsReact components of open-source Orbit design system by Kiwi.com
Orbit is a design library that I've used both professionally and on side-projects for a while now and while it does have great components, I feel like it was specifically made for Kiwis use-case.
On the plus side, it handles complicated components like modals pretty well and most other components have a decent selection of props for customisation, Documentation is relatively decent and they have a storybook for playing around.
The downside is that components can't be extended via styled components and further customisation usually leads to hacking css manually via wrappers.
react-hook-form📋 React Hooks for forms validation (Web + React Native)
After using Formik for the better part of my career, I felt a need for a change and RHF is where it's at!
It feels so natural to use and is becoming the next best choice for handling forms.
The main pros when comparing to Formik are less renders and smaller bundle size.
The downside imo is that it's harder to plug a validation library and requires a separate dependency which they maintain to include libraries like Yup, Zod etc..
Also to note, if you're moving from Formik, it requires a bit of a mindset change as you don't always have access to all the values.
gatsbyBuild blazing fast, modern apps and websites with React
Gatsby is an emerging framework for React that makes building blazing fast websites a breeze. I've used it on several side projects, including my portfolio and I'm pretty satisfied with it.
Gatsby offers a huge ecosystem of plugins and various starters.
The downside is that it may seem overwhelming in the beginning and I wouldn't really pick Gatsby for enterprise level websites yet.
The team working on it is really helpful and I love their dedication on making JAMstack the next big thing.
formikBuild forms in React, without the tears 😭
I've used formik for the better part of my career up until recently when I switched to react hook forms.
formik simplifies form handling a lot but it can be slow on bigger forms and causes a lot of unnecessary rerenders.
The one thing formik does better than RHF is form validation, it is much easier to plug in Yup and it works out of the box.
styled-componentsVisual primitives for the component age. Use the best bits of ES6 and CSS to style your apps without stress 💅
Having tried multiple CSS libraries across several projects, I concluded that styled components definitely feels the best. It comes as close as it can to writing native css but inside JS files.
Their docs are great and the library is widely adopted so you will be hard pressed to encounter something someone hasn't already solved.
nope-validatorA small, simple, and fast JS validator. Like, wow that's fast. 🚀
Nope is your best bet when looking for something like Yup but you'd like to keep your bundle size as small as possible. It doesn't cover all of the cases that Yup does but it covers most and that should suffice. However it hasn't been updated in a while so I would stick with Yup until the maintainer revives it.
react-dates-liteReact calendar component for selecting dates
Relatively unknown dates library that is a lightweight version of airbnbs famous react-dates. Has all the basic props that react-dates provides.
I wouldn't recommend using this since its no longer maintained but you can fork it and it is a great starting point if you're looking to create your own datepicker.
react-day-pickerReusable date picker component for React
Pretty decent and lightweight day picker with many customisable options. The main downside, imo, is that you can't really customise how days look so if you're looking for something more sophisticated (like showing more info inside day boxes) you're better off with creating your own solution.
Ramda is one of those packages that once you get used to, you get hooked and try to solve everything with it. It has a great selection of utility functions but it can become unreadable very fast so I would suggest you to avoid chaining too many functions.
I've yet to find a better error tracing tool. It's extremely simple to implement and requires only a few setup steps. Sentry should be essential to any professional project and the slack/email integration is one of their most useful features.