SWR
react-hook-form
Our great sponsors
SWR | react-hook-form | |
---|---|---|
242 | 208 | |
29,168 | 39,194 | |
1.2% | 1.8% | |
8.4 | 9.0 | |
7 days ago | 5 days ago | |
TypeScript | TypeScript | |
MIT License | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
SWR
-
How to Automatically Consume RESTful APIs in Your Frontend
Now, it's time to consume our API. We'll use React for this tutorail, but feel free to use any other framework you prefer; the process remains the same. Additionally, we'll utilize SWR to fetch data from the API and TypeScript to ensure type safety.
-
A day in the life of a developer - Building a dashboard app with SQL, Node.js, Django and Next.js
'use client'; import FormPostUpdate from './components/FormPostUpdate/FormPostUpdate'; import FormDelete from '../app/components/FormDelete/FormDelete'; import { useFetch } from './hooks/useFetch'; import { useFetchSWR } from './hooks/useFetchSWR'; import Chart from './components/Chart/Chart'; export default function Home() { // Uncomment the code below and comment out the "useFetch" code if your want to use SWR for data fetching --> https://swr.vercel.app/docs/with-nextjs // const { data, error, isLoading } = useFetchSWR( // 'http://127.0.0.1:8000/api/anime/' // ); // Uses the Fetch API for data fetching const { data, error, isLoading } = useFetch( 'http://127.0.0.1:8000/api/anime/' ); if (error) return
An error has occurred.; if (isLoading) returnLoading...; console.log(data); return ( <>POST: Add Anime Form
UPDATE: Update Anime Form
Select an ID from the list. You can change the data for Anime ID, Name and Release.
DELETE: Delete Anime Form
GET: Anime Data List
{data.map((anime) => (-
{anime.anime_name}
- ID: {anime.id}
- Anime ID: {anime.anime_id}
- Anime Release Year: {anime.anime_release}
-
-
How to Fetch API Data in React
Then install the package SWR into your application with the following command:
-
45 NPM Packages to Solve 16 React Problems
SWR
-
TanStack Query(a.k.a. React Query) v5 announced
I would suggest taking a look at SWR [0]. I think it strikes a very nice balance between using fetch and something more heavy-handed like React Query.
-
Mastering Data Fetching in React: A Comprehensive Guide to SWR
Check out the official documentation for SWR here
-
Angular vs. React vs. Vue.js: Comparing performance
SWR: A React Hooks library for remote data fetching. It supports features like caching, revalidation, error handling, prefetching, pagination, and support for SSG and SSR. Its bundle size is 10kb minified and 4.4kb gzipped
-
Building a Blog Subscription and Pusher with AirCode and Resend
In a Next.js client component, if you need to fetch data, you can call a Route Handler. Next.js extends the native fetch Web API, allowing you to configure caching and revalidation behavior for each fetch request on the server. Alternatively, you can use a third-party library for requesting. In this case, I'm using SWR as recommended in the documentation.
-
π Dominate React Project Startups: Insider Tips for Dev Success! π€
SWR πΈοΈ
-
Explicit Design, Part 6. Cross-Cutting Concerns and Extendable Infrastructure
By the way, I think that useSWR and React Query take on too much. They go too deep into the multiple application layers, making themselves no longer βnon-opinionated,β and in some cases, using them becomes inconvenient. There are libraries that implement the SWR standard and do not use hooks, but there are not many of them.
react-hook-form
-
How to send emails from your website using Twilio SendGrid
Now we need to install React Hook Form because that is the package we are going to use for building our form. We also need to install the package for SendGrid. cd into the sendgrid-contact-form folder and then run this command to install the packages:
-
React: A Mess That Shouldn't Exist In Web Development
Imagine someone unknowingly unleashing heavy computation on a component without useMemo. That computation will run on every component re-render. Not only that, The dependency array in your hooks (useEffect, useMemo, useCallback) are also checked in each re-render. It's like a double whammy for performance pitfalls! I know that you can avoid this by some technique like what react-hook-form done, but remember thats an extra complexity.
-
[React JS] I don't know a better way to handle Forms in React
But now, all those difficulties are gone since I found React Hook Form and zod.
- Squeezing more performance out of your Nextjs App
-
New client-side hooks coming to React 19
This will greatly simplify the handling of AJAX forms in React - like for instance for a search form. But again, this may not be enough to get rid of third-party libraries like React Hook Form, which does much more than just handle form submission (validation, side effects, etc).
-
How to Configure CORS in Node.js With Express
React Hook Form Documentation
-
Understanding Reactβs useFormState and useFormStatus Hooks
For these reasons, developers often avoid the heavy lifting by using libraries like Formik or React Hook Form. But consider this: what if we want our app to be as lean as possible without relying on external dependencies?
-
45 NPM Packages to Solve 16 React Problems
react-hook-form
-
The Ultimate Tech Stack for Building a Full-Stack MVP and Iterating Quickly
Forms are a big part of full-stack projects. In our experience, Zod and React Hook Form work great together and provide all the functionality one might need to create forms. In this combo, Zod provides schema validation (types, min/max bounds, lengths, enums, etc.) while React Hook Form gives a flexible API to interact with the form. With these two libraries, one can nest components that interact with the same form, perform different complex validations, and update the data on the fly. They make working with forms seem too easy.
-
Working with forms in SvelteKit coming from React
There are libraries for handling form submissions with builtin integrations for validations libraries, like react-hook-form with @hookform/resolvers for React, and we have superforms for SvelteKit, that handles validation with zod, they both are made for the same purpose.
What are some alternatives?
axios - Promise based HTTP client for the browser and node.js
react-query - π€ Powerful asynchronous state management, server-state utilities and data fetching for TS/JS, React, Solid, Svelte and Vue. [Moved to: https://github.com/TanStack/query]
react-jsonschema-form - A React component for building Web forms from JSON Schema.
formik - Build forms in React, without the tears π [Moved to: https://github.com/jaredpalmer/formik]
react-final-form - π High performance subscription-based form state management for React
antd - An enterprise-class UI design language and React UI library
redux - Predictable state container for JavaScript apps
zustand - π» Bear necessities for state management in React
redux-toolkit - The official, opinionated, batteries-included toolset for efficient Redux development
svelte-forms - Svelte forms validation made easy
JSONForms - Customizable JSON Schema-based forms with React, Angular and Vue support out of the box.