Improve Your React Apps with ShadCn Utilities and Parts — SitePoint


On this article, we’ll stroll by means of how you can combine ShadCn into React apps. Learn to arrange a brand new React mission, set up and configure ShadCn, and benefit from its options. Whether or not you’re a newbie or an skilled developer, uncover insights to streamline your improvement with ShadCn in a React utility.

You’ll be able to take a look at the entire supply code on GitHub.

Desk of Contents

What’s ShadCn?

ShadCn is a flexible library that gives a variety of utilities and elements to boost your React purposes. It’s designed to simplify the event course of, enhance utility effectivity, and create a extra user-friendly expertise. ShadCn is constructed on prime of Tailwind CSS and Radix UI, permitting for top customizability and seamless integration with Tailwind’s utility-first strategy.

Stipulations for ShadCn Set up

Earlier than you begin with ShadCn set up, guarantee a well-prepared atmosphere. Have a foundational understanding of JavaScript and React.js, with Node.js put in in your machine. Familiarity with CSS and HTML is helpful for efficient ShadCn utilization. Since ShadCn integrates with Tailwind CSS, a fundamental understanding of Tailwind may also be useful.

Setting Up a New React Software

To provoke your mission, begin by establishing a brand new React utility. To do that, run the next command in your terminal:

npm create vite@newest

Then identify the mission, and choose your language (ideally TypeScript, as ShadCn works out of the field with TypeScript).

Creating a React project with Vite

Then transfer into your mission folder and run the set up command:

npm set up

Lastly, begin up your dev server by working the command:

npm run dev

Started React Server

Setting Up Tailwind CSS

To customise ShadCn elements, you’ll want to put in and configure Tailwind CSS. Tailwind is a utility-first CSS framework that works seamlessly with ShadCn, permitting you to simply modify and magnificence the elements to suit your mission’s necessities. To put in Tailwind, run the command:

npm set up -D tailwindcss postcss autoprefixer
npx tailwindcss init -p

Then paste the next into your index.css file:

@import "tailwindcss/base";
@import "tailwindcss/elements";
@import "tailwindcss/utilities";

After that, head over to your tsconfig.json file and modify the paths:

    "baseUrl": ".",
    "paths": {
      "@/*": ["./src/*"]

By including the baseUrl and paths sections underneath compilerOptions, the modified tsconfig.json file allows path decision for imports beginning with @/, which maps to the ./src/ listing in your mission.

Lastly, set up nodes in your mission, to forestall path errors:

npm i -D @sorts/node

Then modify your vite.config.ts:

import path from "path"
import react from "@vitejs/plugin-react"
import { defineConfig } from "vite"

export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),

Updating the vite.config.ts file with the trail decision configuration ensures that your utility can resolve the paths appropriately, permitting you to import modules utilizing the outlined aliases. This step is vital for a clean improvement expertise and to keep away from any import errors associated to path decision.

Putting in and Configuring ShadCn

Along with your React utility arrange, it’s time to put in ShadCn. You are able to do this utilizing npm with the next command:

npx shadcn-ui@newest init

The immediate brings up a few choices so that you can select from.

Sucessfull instatation of Shadcn

Utilizing ShadCn in your React Software

After the profitable set up and configuration of ShadCn, now you can start utilizing it in your React utility. For example, let’s use the hover-card element. Head over to the Shadcn docs and seize the immediate for the hover-card:

npx shadcn-ui@newest add hover-card

Then import it into your app and use it:

import {
} from "@/elements/ui/hover-card";

export default perform App() {
  return (
    <div className="flex justify-center  items-center h-screen">
        <HoverCardTrigger>First Shadcn Element</HoverCardTrigger>
        <HoverCardContent>My first of many elements</HoverCardContent>

This yields the outcome proven beneath.

Showcasing the hover-card Shadcn component

Modifying a Shadcn element

To edit a ShadCn element, you possibly can leverage the ability of Tailwind CSS to customise its look and conduct. For example, you should utilize Tailwind to edit the looks of the hover-card element by passing kinds through the classname prop:

  <HoverCardTrigger className=" rounded-xl text-white py-2 px-4 bg-slate-500 ">
    First Shadcn Element
  <HoverCardContent className=" font-bold text-slate-500 w-max">
    My first of many elements

This makes the element seem as proven beneath.

Showcasing the edited hover-card Shadcn component


Incorporating ShadCn into your React purposes doesn’t must be an advanced course of. With a transparent understanding of the conditions, a working React utility, and the precise configuration, you’re nicely in your method. ShadCn’s extensive number of utilities and elements make it a superb instrument for enhancing your React purposes, simplifying the event course of, and making your purposes extra environment friendly and user-friendly.


Please enter your comment!
Please enter your name here