DEV Community

Cover image for ✨11 React Components to Become a Pro πŸ¦ƒπŸ πŸ₯§
uliyahoo Subscriber for CopilotKit

Posted on • Edited on

✨11 React Components to Become a Pro πŸ¦ƒπŸ πŸ₯§

TL;DR

"Reactsgiving" is upon us πŸ‘¨β€πŸŒΎ

I have harvested the finest React components you can use to build a powerful web app.

Each has its own flavor.
Don't forget to show your support 🌟

Now, let's gobble up this code! 🍽️

Image description


1. CopilotPortal: Embed an Actionable GPT-Chatbot Into Your web-app.

Image description
Insert a GPT-powered chatbot into your react app.

Can integrate and RAG with cloud & app state in realtime.

Takes a few lines of code to embed.

import "@copilotkit/react-ui/styles.css"; import { CopilotProvider } from "@copilotkit/react-core"; import { CopilotSidebarUIProvider } from "@copilotkit/react-ui"; export default function App(): JSX.Element { return ( <CopilotProvider chatApiEndpoint="/api/copilotkit/chat"> <CopilotSidebarUIProvider> <YourContent /> </CopilotSidebarUIProvider> </CopilotProvider> ); } 
Enter fullscreen mode Exit fullscreen mode

Star CopilotPortal⭐️


2. ClickVote - Like, Upvote, And Review Any Context

Image description

Easily Add Upvotes, Likes and Reviews into Your Web-App.

Simple react code for adding these components.

import { ClickVoteProvider } from '@clickvote/react'; import { ClickVoteComponent } from '@clickvote/react'; import { LikeStyle } from '@clickvote/react'; <ClickVoteProvider> <ClickVoteComponent id={CONTEXT} voteTo={ID}> {(props) => <LikeStyle {...props} />} </ClickVoteComponent> </ClickVoteProvider> 
Enter fullscreen mode Exit fullscreen mode

Star ClickVote ⭐️


3. React Flow - The best way to create draggable workflows!

Image description

A React component tailor-made for constructing node-based editors and interactive diagrams.

Highly customizable, it offers drag-and-drop capabilities for efficient workflow creation.

import ReactFlow, { MiniMap, Controls, Background, useNodesState, useEdgesState, addEdge, } from 'reactflow'; <ReactFlow nodes={nodes} edges={edges} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} onConnect={onConnect} > <MiniMap /> <Controls /> <Background /> </ReactFlow> 
Enter fullscreen mode Exit fullscreen mode

Star React Flow ⭐️


4. CopilotTextarea - AI-powered Writing in React Apps

Image description

A drop-in replacement for any react <textarea> with the features of Github CopilotX.

Autocompletes, insertions, edits.

Can be fed any context in real time or by the developer ahead of time.

import { CopilotTextarea } from "@copilotkit/react-textarea"; import { CopilotProvider } from "@copilotkit/react-core"; // Provide context... useMakeCopilotReadable(...) // in your component... <CopilotProvider> <CopilotTextarea/> </CopilotProvider>` 
Enter fullscreen mode Exit fullscreen mode

Star CopilotTextarea ⭐️


5. Novu - Add in-app notifications to your app!

Image description

Simple components and APIs for managing all communication channels in one place: Email, SMS, Direct, and Push

You can add in-app notifications to your app with this React component.

import { NovuProvider, PopoverNotificationCenter, NotificationBell, IMessage, } from "@novu/notification-center"; <NovuProvider subscriberId={"SUBSCRIBER_ID"} applicationIdentifier={"APPLICATION_IDENTIFIER"} > <PopoverNotificationCenter colorScheme="dark"> {({ unseenCount }) => <NotificationBell unseenCount={unseenCount} />} </PopoverNotificationCenter> </NovuProvider> 
Enter fullscreen mode Exit fullscreen mode

Star Novu ⭐️


6. ReactIcons - Collection of the most Popular react Icons

Image description

Easily add popular icons from Font Awesome, Material Design, and more to your React app.

A simple, vast selection for developers.

import { FaBeer } from "react-icons/fa"; function Question() { return ( <h3> Lets go for a <FaBeer />? </h3> ); } 
Enter fullscreen mode Exit fullscreen mode

Star ReactIcons ⭐️


7. React-dropzone - add HTML5 drag & drop UI.

Image description

Straightforward React hook for implementing an HTML5 drag-and-drop zone, focusing on file interactions.

It provides an easy-to-use interface for adding file drag-and-drop capabilities to React applications.

import React from 'react'; import {useDropzone} from 'react-dropzone'; const Basic = (props)=>{ const {acceptedFiles, getRootProps, getInputProps} = useDropzone(); const files = acceptedFiles.map(file => ( <li key={file.path}> {file.path} - {file.size} bytes </li>  )); return ( <section className="container"> <div {...getRootProps({className: 'dropzone'})}> <input {...getInputProps()} />  <p>Drag 'n' drop some files here, or click to select files</p>  </div>  <aside> <h4>Files</h4>  <ul>{files}</ul>  </aside>  </section>  ); } export default Basic; 
Enter fullscreen mode Exit fullscreen mode

Star ReactDropzone ⭐️


8. React ChartJS 2 - Create and integrate diverse charts.

Image description

A plug-and-play solution for charting within React applications, akin to Chart.js capabilities.

Enables dynamic, interactive charting.

Adaptable to real-time data or predefined datasets.

import React from 'react'; import { Chart as ChartJS, ArcElement, Tooltip, Legend } from 'chart.js'; import { Doughnut } from 'react-chartjs-2'; ChartJS.register(ArcElement, Tooltip, Legend); const data = { labels: ['Red', 'Blue', 'Yellow', 'Green', 'Purple', 'Orange'], datasets: [ { label: '# of Votes', data: [12, 19, 3, 5, 2, 3], backgroundColor: [ 'rgba(255, 99, 132, 0.2)', ], borderColor: [ 'rgba(255, 99, 132, 1)', ], borderWidth: 1, }, ], }; export default function ShowChart() { return <Doughnut data={data} />; } 
Enter fullscreen mode Exit fullscreen mode

Star ReactChart ⭐️

9. Redux - predictable state container library

Image description

A seamless addition to Redux in JavaScript applications, providing reliable state management.

Ensures consistent app behavior.

Facilitates easy debugging and testing.

Integrates with various libraries.

Star ReactRedux ⭐️


10. Blueprint - dense UI library by Palantir

Image description

Provides a set of components and styles for creating complex and data-rich interfaces.

design and develop desktop-like web applications with a modern look and feel.

Developed by Palantir

import React from 'react'; import '@blueprintjs/core/lib/css/blueprint.css'; import { H3, H4, OL, Pre } from "@blueprintjs/core"; function App() { return ( <div style={{ display: 'block', width: 500, padding: 30 }}> <h4>ReactJS Blueprint HTML Elements Component</h4> Heading Component: <H4>H4 Size Heading</H4> <H3>H3 Size Heading</H3> <br></br> OrderList Component: <OL> <li>1st item</li> <li>2nd item</li> </OL> Pre Component: <Pre>Sample Pre</Pre> </div> ); } 
Enter fullscreen mode Exit fullscreen mode

Star BluePrint ⭐️


11. Headless UI - Accessible Tailwind-integrated UI components.

Image description

Create accessible UI components in React and Vue application.

Adaptable to real-time data or predefined datasets, making it a valuable addition to modern web development projects

import React, { useState } from 'react'; import { Dialog } from '@headlessui/react'; function MyDialog() { let [isOpen, setIsOpen] = useState(true); return ( <Dialog open={isOpen} onClose={() => setIsOpen(false)} className="relative z-50"> {/* The backdrop, rendered as a fixed sibling to the panel container */} <div className="fixed inset-0 bg-black/30" aria-hidden="true" /> {/* Full-screen container to center the panel */} <div className="fixed inset-0 flex w-screen items-center justify-center p-4"> {/* Your dialog content goes here */} </div> </Dialog> ); } 
Enter fullscreen mode Exit fullscreen mode

Star HeadlessUI ⭐️


Save these components to build as pro as a pilgrim.

Thanks everyone & Happy Holidays!

Top comments (1)

Collapse
 
aalsaedi265 profile image
Ahmed R. J. Alsaedi

these are very impressive thanks for sharing