HomePrivacyTermsDocsBlog
Connexion
VillaSlot

By Mike Codeur

© 2026 VillaSlot. All rights reserved.

Product

  • Features
  • Pricing
  • Demo
  • Updates

Resources

  • Documentation
  • Blog
  • Support
  • API

Legal & Contact

  • Legal Notice
  • Privacy Policy
  • Contact
  • Careers
Get Started

Ready to get started ?

Join thousands of users building amazing things with our platform.

Get Started Free

No credit card required

Newsletter

Stay updated with our latest articles and web development news.

No spam, unsubscribe anytime

Back to articlesTutorial

Proxy Component

Understanding Proxy Components in React to create reusable and maintainable code.

#react#patterns#components
ShipSaaS Team
January 01, 20252 min
Tutorial
…
Written by
ST
ShipSaaS Team
Author
Published on January 01, 2025

Related Articles

Tutorial
Tutorial

Next.js Guide for Beginners

A complete guide to get started with Next.js

Sep 09, 20261 min
Read more
Welcome to our Blog with MDXTutorial

Welcome to our Blog with MDX

Discover how MDX combines the simplicity of Markdown with the power of React components to create rich and interactive content.

Jan 05, 20253 min
Read more
Tech
Tech

React 19 New Features

Discover the revolutionary new features of React 19

Sep 09, 20261 min
Read more

Proxy Component

Understanding Proxy Components

Your Notes

Detail what you learned here src/exercise/01.md or on a Notion page

Understanding

Behind this technical term lies something quite simple. It's a reusable component. Following the DRY principle (don't repeat yourself), we don't want to duplicate certain portions of code. Proxy components are useful because they isolate code from future changes as we'll see in the exercises.

tsx
function Checkbox() {
  return <input type="checkbox" value="check" />
}

function App() {
  return <Checkbox />
}

export default App

Exercise

Imagine a site structure containing like buttons

tsx
function Header() {
  return (
    <div>
      <h1>Welcome</h1>
      <button>Like</button>
    </div>
  )
}
function Content() {
  return (
    <div>
      <h2>Articles</h2>
      <span>article 1</span>
      <button>Like</button>
      <span>article 2</span>
      <button>Like</button>
      <span>article 3</span>
      <button>Like</button>
    </div>
  )
}
function Footer() {
  return (
    <div>
      <h3>Contact us</h3>
      <button>Like</button>
    </div>
  )
}

function App() {
  return (
    <React.Fragment>
      <Header />
      <Content />
      <Footer />
    </React.Fragment>
  )
}

export default App

Imagine we want to change the button implementation

tsx
<button>Like</button>
// to
<input type="Button" value="Like"/>
// or another: Bootstrap Buttons / Material-ui Button etc ...

We would need to replace the implementation of this button everywhere in the code. In this exercise, we'll create a proxy component.

Bonus

1. Change the Button Implementation

Use <input> instead of <button> and apply a style of your choice. ex:

tsx
{backgroundColor:'lightblue', border:'none', padding:'6px 6px' cursor: 'pointer'}