🌐
Pluralsight
pluralsight.com › courses › react-creating-reusable-components
Creating Reusable React Components
In this course, Creating Reusable React Components, you'll explore over 50 decisions to consider when designing, creating, and publishing reusable React components, including atomic design, documentation generation, styling, theming, testing, packaging, and publishing. By the end of this course, you'll know how to publish and maintain your own reusable component library.
🌐
CTF Assets
assets.ctfassets.net › otcg69yadk3e › 2vQ7FxW1Ow2wQwmM02y6GG › 347338f925e7a42375655c7917351c5c › Building_a_Reusable_Component_Library_in_React.pdf pdf
Reusable Component Library in React Reduce, reuse… React!
Reusable Component Library · in React · Reduce, reuse… React! Who is this human? ● · Connor Wilson · ● · Front-end @ Tulip, Formerly Mappedin, recovering freelancer · ● · Instructor @ Bridge · ● · Socials on cwlsn.com, me@cwlsn.com · ● · Cat whisperer · What is this talk? ● · I built a boilerplate for creating a Component library, documented the ·
Discussions

Recommendations on reusable component framework / libs?
Yeah, ok. So your team has a bit of a challenge on your hands. IF and this is a MASSIVE IF I had the time, team, money and I was in your shoes then I'd probably try to use a mix of these two approaches: Come up with a solid Design System using something like Figma which outlines all the components including colours, typography, spacing, interactions, etc across all viewports you'll be targetting. Have a look at different ways that you can share the Design Systems non-component parts across React, Vue, Angular and React Native. For example, this could be CSS-in-JS variables. Now this is where it gets fun... (Option 1) Once you have the core Design System parts shared across all platforms, look at building the componentry and implementing the interactions. I'd be seriously thinking about how dumb I make the individual components because the dumber they are the easier it'll be to share the bulk of the markup across at least React, Vue and Angular. Then you focus on React Native. Having a fleshed out Design System would also mean that you have a solid reference point to keep all components/interactions in check. Now, depending on your team, and how large your Design System is, you could knock out the bulk of the dumb componentry fairly quickly. Then look at implementing the library/framework specifics (ie. onClick vs v-on vs (click) vs Pressable, etc). You'd want to have someone that's a lead or fairly senior that is across React, Vue, Angular and React Native to keep a hold of the overall quality. Mind you, these folks aren't easy to find. For me, its taken me over 10 years to go around the block and I'm only now touching React Native. I'd be seriously looking at the team composition because unless the folks know what they're doing in their respective fields of expertise, then you will lose/waste time with slow downs/quality issues, etc. Just as a reference, one of the most efficient projects I've been on was a 3 month contract where we built hundreds of components for over 900 new pages, for a major bank re-brand. The team consisted of 1x Lead Frontend Developer, 3x Senior Frontend Developers, 2x UI designers, 2x UX designers, 2x Info Architects?, 1x PM, 1x BA - thats the type of team you want. Just in your case, you'd want the Senior FEDs to be specialised in each framework/lib. What you want to do is do-able but you need the right resources for it not to turn to absolute ****. If you have an existing team, as a trial run, I'd honestly suggest doing a 2 week hackathon on a subset of the design system and see what happens. Just to summarise: 0. (Probably the most important bit) Review your team, skillsets, expertise with the aim being that everyone on the team is fairly senior and there's a lead to pull it all together Limit and flesh out the Design System Figure out how to share the bulk of the non-markup pieces of the Design System across React, Vue, Angular and React Native (CSS-in-JS maaaybe?) Build out the dumb componentry and try to share as much as you can among React, Vue, Angular... and handle React Native separately Once you've got the dumb componentry, switch focus to the interactive parts. Aim to get at least part of your Design System out for feedback sooner rather than later. And/OR (Option 2) Now this is something I haven't tried myself but might be worth exploring depending on how much time/money you have. Steve from Builder.io has two Youtube views and some blog posts about them training their own models to help with component generation. AGAIN, IF you have the time/money. It might be something worth exploring. Could you train/build your own model to convert whatever component from your Design System into which ever target framework/lib? Maybe? https://www.youtube.com/watch?v=bRFLE9qi3t8&t=2s https://www.youtube.com/watch?v=fCUkvL0mbxI https://www.builder.io/blog/build-ai https://www.builder.io/blog/train-ai Anyways, good luck. Project sounds challenging but if I was in your shoes. I'd take it on. If nothing else, you'll come away with a lot of lessons. haha PS. Keep me update if you do go ahead. Might have some more tips if you flick me a message. More on reddit.com
🌐 r/reactjs
24
6
December 26, 2023
How should I design my reusable components?
If you want your components to be reusable, it's either props or children. The component should just provide the layout/UI with no hardcoded content inside. React's own opinion on this: https://reactjs.org/docs/composition-vs-inheritance.html I suggest looking at popular libraries for some inspiration.. used this card lately https://www.primefaces.org/primereact/card/ More on reddit.com
🌐 r/reactjs
3
1
December 29, 2022
Help creating a NPM package of reusable components
In my experience, webpack is not easily fit for purpose in this use case. I have had quick success with roll-up to achieve this. https://medium.com/@tomaszmularczyk89/guide-to-building-a-react-components-library-with-rollup-and-styled-jsx-694ec66bd2 I would argue webpack is for react apps and roll-up is for component libraries. More on reddit.com
🌐 r/reactjs
10
10
March 3, 2019
Introducing Tailwind Classed - A fully Typesafe library for building reusable Tailwind components
This looks great! Only thing I couldn’t quite see in the docs is how to do compound variants to style/apply classes when a combination of variants/props is present. Thanks for sharing! More on reddit.com
🌐 r/reactjs
25
11
November 19, 2022
🌐
DEV Community
dev.to › joshuawasike › design-systems-in-action-building-a-reusable-component-library-with-react-3peb
Design Systems in Action: Building a Reusable Component Library with React - DEV Community
July 24, 2024 - Creating a scalable design system is essential for maintaining consistency, improving collaboration, and enhancing the efficiency of development teams. This article will guide you through the process of building a reusable component library with React, integrating with Storybook for documentation, and ensuring consistency across projects.
🌐
UXPin
uxpin.com › home › how to build reusable react components
How to Build Reusable React Components | UXPin
October 16, 2025 - By sticking to these strategies ... Adopting Atomic Design principles allows you to build a more organized and scalable React component library by breaking your user interface into smaller, reusable pieces...
🌐
ButterCMS
buttercms.com › blog › building-reusable-components-using-react
Building reusable components using React | ButterCMS
July 16, 2025 - Extracting this logic from a component makes it much easier to make it reusable. Consider the scenario where you have a button that does an API call. The code for the button component could be the following: import React from "react"; import doAPICall from "../api" const SaveButton = () => { return ( <button onClick={() => { doAPICall(); }} > Save </button> ); } export default SaveButton
🌐
GitHub
github.com › coryhouse › ps-react
GitHub - coryhouse/ps-react: Reusable React components built in "Creating Reusable React Components" on Pluralsight
A library of React components created in Creating Reusable React Components on Pluralsight.
Starred by 137 users
Forked by 70 users
Languages   JavaScript 96.4% | HTML 1.9% | CSS 1.7% | JavaScript 96.4% | HTML 1.9% | CSS 1.7%
🌐
Fathomtech
fathomtech.io › blog › create-a-react-component-library-using-create-react-app
Create a component library using Create React App, Storybook and Jest
“Components let you split the UI into independent, reusable pieces, and think about each piece in isolation.” – reactjs.org · We’ll build our UI following a Component-Driven Development (CDD) methodology. Here at Fathom we use the create-react-app toolchain for React projects.
🌐
Medium
medium.com › cstech › building-reusable-ui-components-with-react-best-practices-and-patterns-24b6fe921347
Building Reusable UI Components with React: Best Practices and Patterns | by Umur Akbulut | ÇSTech | Medium
May 18, 2023 - Utilize testing frameworks like Jest or React Testing Library to cover different scenarios and edge cases. Consider packaging your reusable UI components as a library or sharing them on platforms like npm or GitHub. By open-sourcing your components or contributing to existing component libraries, you can help the broader developer community and receive feedback and contributions. Building reusable UI components is an important aspect of creating efficient and maintainable React applications.
Find elsewhere
🌐
GitHub
github.com › mesosphere › reactjs-components
GitHub - d2iq-archive/reactjs-components: :art: A library of reusable React components
:art: A library of reusable React components. Contribute to d2iq-archive/reactjs-components development by creating an account on GitHub.
Starred by 136 users
Forked by 20 users
Languages   JavaScript 93.2% | CSS 6.7% | Shell 0.1% | JavaScript 93.2% | CSS 6.7% | Shell 0.1%
🌐
freeCodeCamp
freecodecamp.org › news › how-to-build-reusable-react-components
How to Build Reusable React Components
February 28, 2024 - What are reusable React components? You can think of them as building blocks. They are independent pieces of code that can be reused throughout your website to save you time and effort. They can be anything from simple buttons to complex forms. Why U...
🌐
Medium
medium.com › @dlrnjstjs › building-a-react-design-system-creating-a-reusable-component-library-99fd70a4d6be
Building a React Design System: Creating a Reusable Component Library | by Logan Lee | Medium
November 5, 2025 - Card is a component that displays content in a clean, separated way. It can be used in many places like blog post lists, product cards, etc. ... import React from 'react'; import './Card.css'; /* Card Component Props explanation: - children: Content inside the card - title: Card title - footer: Content displayed at the bottom of the card - hoverable: If true, apply hover effects - onClick: Function to execute when card is clicked */ const Card = ({ children, title, footer, hoverable = false, onClick, ...rest }) => { /* Combining className - Add 'card-hoverable' class if hoverable is true - Add 'card-clickable' class if onClick exists (changes cursor) */ const className = ` card ${hoverable ?
🌐
Quora
quora.com › How-can-I-create-a-react-components-library-so-that-I-could-reuse-those-components-separately-in-a-different-project-by-installing-this-library-using-NPM
How to create a react components library so that I could reuse those components separately in a different project by installing this library using NPM - Quora
Answer: it would be very difficult to explain everything you need to do in order to create a Reusable Components Library in just a few paragraphs, but I’m gonna recommend you an excellent PluralSight course which teaches you to do just that following all the best practices: Creating Reusable ...
🌐
freeCodeCamp
freecodecamp.org › news › how-to-create-a-truly-reusable-react-component-from-scratch
How to Create a Truly Reusable React Component from Scratch
August 20, 2021 - If you want to learn Redux in detail from scratch and build 3 apps along with the complete food ordering app, check out the Mastering Redux course. ... How to use Redux in React using the react-redux library to make your app reactive.
🌐
Medium
medium.com › @lotfi-habbiche › building-reusable-component-libraries-in-react-a1ce8cceb000
Building Reusable Component Libraries in React | by Lotfi Habbiche | Medium
December 27, 2023 - React, renowned for its component-based architecture, offers an excellent platform for building reusable component libraries. These libraries not only streamline the development process but also ensure consistency across projects. This article explores the fundamentals of creating and maintaining ...
🌐
Reddit
reddit.com › r/reactjs › recommendations on reusable component framework / libs?
r/reactjs on Reddit: Recommendations on reusable component framework / libs?
December 26, 2023 -

Hi all,

Our team is tasked with building out a components platform that supplies all UI to other frontends, regardless of framework (mainly Angular, Vue, and React Native). We've looked into some frameworks like Stencil.js, Lit, etc. and actually prototyped a few by exporting to npm, but it'd be great to see if anyone here has experience with what they've gone with and how it's scaled to other teams. The challenge is more so the React Native part actually, we've had a few discussions on how to tackle this.

Apologies if this has been asked before, if so, please link me since I couldn't find via Reddit search. Thanks!

Top answer
1 of 10
13
Run. Run as fast and as far as you can. Your project will fail, you will be sacked and before that happens you will wish your managers had never been born. Building a component library is already a massive challenge where the projects that are supposed to use it will inevitably need you months or even years before you can possibly deliver leading to them developing their own components. What they're asking you to do is an order of magnitude more dumb. The app Dev teams will hate you, they will talk (justified) shit about you to their managers. It's a recipe for disaster.
2 of 10
11
Yeah, ok. So your team has a bit of a challenge on your hands. IF and this is a MASSIVE IF I had the time, team, money and I was in your shoes then I'd probably try to use a mix of these two approaches: Come up with a solid Design System using something like Figma which outlines all the components including colours, typography, spacing, interactions, etc across all viewports you'll be targetting. Have a look at different ways that you can share the Design Systems non-component parts across React, Vue, Angular and React Native. For example, this could be CSS-in-JS variables. Now this is where it gets fun... (Option 1) Once you have the core Design System parts shared across all platforms, look at building the componentry and implementing the interactions. I'd be seriously thinking about how dumb I make the individual components because the dumber they are the easier it'll be to share the bulk of the markup across at least React, Vue and Angular. Then you focus on React Native. Having a fleshed out Design System would also mean that you have a solid reference point to keep all components/interactions in check. Now, depending on your team, and how large your Design System is, you could knock out the bulk of the dumb componentry fairly quickly. Then look at implementing the library/framework specifics (ie. onClick vs v-on vs (click) vs Pressable, etc). You'd want to have someone that's a lead or fairly senior that is across React, Vue, Angular and React Native to keep a hold of the overall quality. Mind you, these folks aren't easy to find. For me, its taken me over 10 years to go around the block and I'm only now touching React Native. I'd be seriously looking at the team composition because unless the folks know what they're doing in their respective fields of expertise, then you will lose/waste time with slow downs/quality issues, etc. Just as a reference, one of the most efficient projects I've been on was a 3 month contract where we built hundreds of components for over 900 new pages, for a major bank re-brand. The team consisted of 1x Lead Frontend Developer, 3x Senior Frontend Developers, 2x UI designers, 2x UX designers, 2x Info Architects?, 1x PM, 1x BA - thats the type of team you want. Just in your case, you'd want the Senior FEDs to be specialised in each framework/lib. What you want to do is do-able but you need the right resources for it not to turn to absolute ****. If you have an existing team, as a trial run, I'd honestly suggest doing a 2 week hackathon on a subset of the design system and see what happens. Just to summarise: 0. (Probably the most important bit) Review your team, skillsets, expertise with the aim being that everyone on the team is fairly senior and there's a lead to pull it all together Limit and flesh out the Design System Figure out how to share the bulk of the non-markup pieces of the Design System across React, Vue, Angular and React Native (CSS-in-JS maaaybe?) Build out the dumb componentry and try to share as much as you can among React, Vue, Angular... and handle React Native separately Once you've got the dumb componentry, switch focus to the interactive parts. Aim to get at least part of your Design System out for feedback sooner rather than later. And/OR (Option 2) Now this is something I haven't tried myself but might be worth exploring depending on how much time/money you have. Steve from Builder.io has two Youtube views and some blog posts about them training their own models to help with component generation. AGAIN, IF you have the time/money. It might be something worth exploring. Could you train/build your own model to convert whatever component from your Design System into which ever target framework/lib? Maybe? https://www.youtube.com/watch?v=bRFLE9qi3t8&t=2s https://www.youtube.com/watch?v=fCUkvL0mbxI https://www.builder.io/blog/build-ai https://www.builder.io/blog/train-ai Anyways, good luck. Project sounds challenging but if I was in your shoes. I'd take it on. If nothing else, you'll come away with a lot of lessons. haha PS. Keep me update if you do go ahead. Might have some more tips if you flick me a message.
🌐
GitConnected
levelup.gitconnected.com › creating-a-reusable-component-library-with-react-storybook-and-webpack-c0a30076aa54
Creating a Reusable Component Library with React, Storybook, and Webpack | by Andy Potts | Level Up Coding
April 21, 2020 - In this guide I’ll be outlining ... To achieve this we will use React, Sass, Storybook, and Webpack. First off, let’s create a new directory, cd into it and run npm init to get started....
🌐
Angular Minds
angularminds.com › blog › how-to-create-and-use-reusable-react-components
How to Create and Use Reusable React Components
March 21, 2024 - Brief: Unlock the full potential of React by learning how to create reusable components that make your codebase cleaner, scalable, and easier to maintain. This guide explores advanced patterns like compound components, render props, HOCs, custom hooks, and Context API.
🌐
LogRocket
blog.logrocket.com › home › how to build a component library with react and typescript
How to build a component library with React and TypeScript - LogRocket Blog
November 6, 2024 - In this article, we’ll guide you through building a custom React component library with TypeScript, covering essential steps such as: ... This approach will help you create a maintainable, reusable library that can evolve alongside your projects.
🌐
DEV Community
dev.to › alexeagleson › how-to-create-and-publish-a-react-component-library-2oe
How to Create and Publish a React Component Library - DEV Community
December 5, 2022 - Now that we've created our component library, we need a way to allow ourselves (or others) to download and install it. We will be publishing our library via NPM through hosting on Github. First before anything else we need to create a repository for our library. Create a new repository on Github. I have titled mine template-react-component-library.
🌐
JavaScript in Plain English
javascript.plainenglish.io › building-a-reusable-component-library-with-restyle-in-react-native-94ecb5f454d2
Building a Reusable Component Library with Restyle in React Native | by Malik Chohra | JavaScript in Plain English
November 21, 2025 - If you need to integrate Advanced functionalities in your Mobile app, create one from scratch, or need consulting in react native. Visit casainnov.com, check their mobile app page, and contact them there · Creating consistent, themeable, and reusable components is essential for scaling mobile apps efficiently. In this guide, you’ll learn how to build a reusable component library using Restyle — a powerful utility-first styling system for React Native.