Components

Reusable React landing-page sections

How the React section library is structured so each block is a component you copy with its stylesheet.

2 min read

A landing page is a sequence of sections that share type, spacing, and buttons. The 50 Premium React Sections package is 50 components in src/sections, built with React 19 and Vite 6. There is no Next.js app and no CMS. You copy a file.

One component, one id

SplitHero is the first section:

export function SplitHero() {
  return (
    <section className="dy-section" id="splithero">
      <div className="dy-inner dy-split">
        <div>
          <p className="dy-kicker">01 · split</p>
          <h2>Two-column hero with a product proof line.</h2>
          <p className="dy-muted">Section 01 of 50. Copy this file and sections.css.</p>
          <p><a className="dy-btn" href="#splithero">Use this section</a></p>
        </div>
      </div>
    </section>
  );
}

The class names are dy-section, dy-inner, dy-split, dy-kicker, dy-muted, and dy-btn. They are defined once in sections.css. Copying a component without that file drops the layout. The id matches the file’s role so in-page links stay stable. Change the id if you place two heroes on one page.

src/sections/index.ts re-exports the set. Import the ones you use. The Vite preview exists so you can see them; the production site is your app.

What is in the set

The files cover heroes, feature grids, stats, pricing (including a three-tier block and a comparison), testimonials, a logo cloud, FAQ, CTAs, newsletter forms, navigation, footers, steps, and a handful of narrower blocks (security note, changelog, empty state). Pricing copy in the sections is presentational. It does not call Stripe. Wire a button to your Checkout route, for example the one in Stripe Checkout with Next.js, when a price should charge.

How to edit

Replace the heading and the muted paragraph. Keep the dy- classes so the section still matches its neighbors. The kit does not fetch content from a CMS. If you need editors to change text without a deploy, pass strings as props and stop hardcoding them. The shipped components take no props; that is a copy-paste library, not a theme with slots.

Do not import all 50 into a route you ship. Each section is an independent file so a page can use five of them.

Want to skip the setup? 50 Premium React Sections already includes the components and sections.css as one visual system.

Product updates for developers shipping with Designyff kits.

Purchased source may be used in personal, commercial, and client projects. Do not redistribute or resell the original source. Terms of Service

Designyff © 2026 | Starter kits for developers | Powered by  Tacko