Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
React Advance Component Composition-Next JS-Typescript 2025
Rating: 3.7 out of 5(8 ratings)
117 students

React Advance Component Composition-Next JS-Typescript 2025

Advance React in Typescript and Tailwind CSS
Last updated 1/2025
English
English [Auto],

What you'll learn

  • You will learn how to create advanced React components using compound component composition techniques.
  • You will understand and apply SOLID principles, DRY principles, and various React design patterns such as the Context Provider Pattern and Render Props Pattern
  • You will learn how to use Next JS, Typescript and Tailwind css to build efficient and maintainable UI's
  • You gain the ability to plan and structure your code thoughtfully, resulting in well-architected React components.

Course content

1 section43 lectures10h 7m total length
  • Introduction2:02

    Explore advanced design patterns and compound component composition in React to build a scalable, maintainable product card using clean code and industry best practices, contrasting enterprise versus amateur architecture.

  • Referencing UI Libraries5:08

    Explore how popular UI libraries implement select components, emphasizing wrapper and children patterns, context providers, and avoiding prop drilling to illustrate best practices in React component composition.

  • Course Demonstartion5:02

    Demonstrate building a composable product card UI with the compound component pattern in a React Next.js TypeScript course, highlighting clean, scalable components and library-based patterns.

  • Analyzing Figma Design7:12

    Analyze the Figma design to understand the shopping item card, clarify context with the designer, and outline building reusable compound components for item details, quantity controls, add-to-cart, and cart totals.

  • Analyzing Component Behavior9:08

    Analyze how a component behaves, negotiate design versus development constraints, and implement stateful interactions such as adding to cart and updating backend statistics for a cohesive app.

  • Introduction to Figma Assets13:39

    Prepare tangible and intangible Figma assets before development, exporting images and SVGs and sampling brand colors to create identity colors for Tailwind CSS in React Next.js projects.

  • Figma Color Sampling11:27

    Establish a three-color system—primary, secondary, tertiary—with the app prefix to create a single color source of truth; name headings, body, and gradients accordingly.

  • Creating A Next JS Project5:48

    Initialize a Next.js project with npx create-next-app, name it card component, enable TypeScript and Tailwind CSS, and use the app router inside the card component folder.

  • Project Cleanup and Extensions6:24

    Cleanup a next.js project by installing es7 react redux graphql and tailwind extensions, create a clean react component, refine styles, and run npm run dev to preview at localhost 3000.

  • Extending Tailwind Colors4:44

    Set up a single source of truth for card colors by extending tailwind colors in the config, defining app primary, app secondary, and highlight, and testing color classes in code.

  • Installing React Icons3:54

    Export the design as a jpg by framing it and adjusting the background for contrast. Install the react-icons package with npm in a split terminal and verify the version.

  • Tailwind CENTER Style8:40

    Explore the center effect in Tailwind by creating a reusable center class with flex, justify-center, and items-center, and test with React icons to ensure centered layouts and flexible overrides.

  • Creating Image Component21:24

    Create a reusable image component in a Next.js and TypeScript project, using a src prop and optional width and height, and applying the inside out atomic design approach.

  • Refactoring Image Component12:05

    Refactor a reusable Next.js image component to support width/height and fill modes, test 120px sizes, address aspect ratio, and enable container-based sizing via conditional rendering and a boolean fill prop.

  • Creating a Box Container Component35:58

    Create a reusable box container component in React with gradient variants, adjustable size, and dynamic content via children, showcasing pattern recognition and the DRY principle.

  • Refactoring Box Container Component12:04

    Refactor the box container component to support dynamic sizing via a className prop. Use the class names package to merge base Tailwind classes with user-provided classes and resolve conflicts.

  • Creating a Button Component12:11

    Create a reusable app button component in a React Next.js TypeScript project, receiving children and an onClick handler, styled with tailwind and hover effects, adaptable for login or subscribe actions.

  • Creating a Product Card Component54:13

    Learn to build a product card component in Next.js project with TypeScript, starting from a simple card and evolving into a compound component using TSX, flex layouts, and responsive styling.

  • Product Card Component Improvement9:39

    Refine a product card component by studying a ui library's architecture, adopting a compound component pattern, and refactoring into standalone pieces for scalability, reusability, and accessible state management.

  • Creating the Inceremnter Component14:08

    Develop a reusable incrementer component that manages quantity with increment and decrement controls, designed to work independently of its container and adaptable for volume or other uses.

  • Incementer Minimum & Maximum7:58

    Improve an incremental component by enforcing a minimum and maximum, adjusting plus/minus layout, and implementing error messaging when limits are reached, while preparing it to become a controlled, reusable module.

  • Incrementer State Lifting10:18

    Refactor the incrementer into a reusable, externally controlled component by lifting state up with counter and setCounter props, while optionally handling minimum and maximum limits for flexibility across apps.

  • Creating the Like Component15:04

    Design a scalable like component in React by extracting a reusable stats counter, applying the render props pattern for variants, and enforcing single responsibility for maintainable Next.js TypeScript code.

  • Render-Prop Pattern15:32

    Learn how the render props pattern decouples behavior from presentation to create reusable, scalable components, enabling calling modules to render icons like heart or thumbs up via a render function.

  • Refactoring the Like Component21:58

    Refactor the like component to pull its initial value from the database and ensure front-end and back-end sync using render props pattern and ten stack query.

  • Separating Concerns19:51

    Master separating concerns by turning the paragraph, top section, and price tag into reusable components, using props and children for a clean React TypeScript architecture.

  • Creating a Simple Compound Component35:03

    Create a simple compound component by composing an item card from standalone blocks (image block, item image, price tag) with context and abstraction for a clean, maintainable UI.

  • Creating Item Card Details9:12

    Create and wire item card details in a React/Next.js TypeScript project, replacing price tag with item details, handling children, containers, and a snap view for flexible composition.

  • Creating a Description Component3:30

    Create the description as a functional component, render it in the item details, and achieve maximum flexibility by extracting and rearranging the description with the price tag.

  • Creating Item Action Component7:42

    Extract the bottom section into a reusable item actions component to improve maintainability and reusability of item details, price tag, and add-to-cart interactions.

  • Introduction to API Context from ChatGpt24:16

    Learn how the React context API shares data across the application and avoids prop drilling. Create a context, provide a value via a provider, and consume it with useContext hook.

  • Context Provider Pattern Introduction27:04

    Explore the context provider pattern in React and TypeScript, learning to create and consume a context, wrap children, and manage product data with a product card including add to cart.

  • Context Provider Pattern Continues10:01

    explore the context provider pattern by implementing a product provider, wrapping children, and accessing cart and product actions via use product context, with error handling for outside-provider usage.

  • Implementing Context-Provider API42:18

    Create a product context and provider to wrap the top-level compound component. Expose product data and actions such as add to cart, likes, and quantity changes.

  • Testing the provider9:11

    Test and refine the product provider by composing UI components, importing and exporting correctly, wrapping children, and validating rendering of a product within a provider.

  • Pulling Image from the Provider16:47

    Learn to extract an image URL from a product context using a provider pattern, replacing hard-coded values with props so the image component receives its source from context.

  • Product Details & Product Name32:05

    Create a highly reusable product details component using the context provider pattern, add a product name and price tag, and style the image box with Tailwind gradients.

  • Creating a Product Details Component2:50

    Master compound component patterns by turning item details into a reusable product details block, exporting it for use in the calling module and embracing a children prop.

  • Creating a Price Tag Component5:51

    Create and integrate a price tag component in a React Next.js TypeScript project, copy and adapt props, render in the product details module, and ensure correct price formatting.

  • Creating a Description Component4:26

    Create a description component by implementing a context provider pattern, echoing the CDN approach, and render a self-closing description tag within a highly reusable, scalable product card.

  • Creating Item Action Component12:45

    Develop an item action component in a React Next.js TypeScript workflow, wiring state and render logic to display and increment a likes counter within a product details view.

  • Adding Add-To-Cart Action8:12

    Explore how the add-to-cart action is wired through a provider and render-prop patterns. See how context and client components, with console logs, manage product ids and cart state.

  • Final Touches10:27

    Explore final touches on a compound product component that uses context for quantity and actions, demonstrating flexible, reusable composition with a product image, details, and counter controls.

Requirements

  • Students should have a basic understanding of Javascript and React before taking this course. Familiarity with HTML and CSS is also recommended. Some expereince with Typescript will be beneficial, though not strictly necessary.

Description

Unlock the secrets to creating advanced React components with my comprehensive course,

"Master Advanced React Component Composition."

Designed for intermediate to advanced learners, this course will elevate your React skills by diving deep into compound component composition techniques.

You will learn how to build sophisticated product cards using SOLID principles, DRY principles, and essential React design patterns such as the Context Provider Pattern and Render Props Pattern. This course emphasizes clean code practices and thoughtful planning, ensuring you can create well-architected React components that stand out to employers.

Our tech stack includes Next.js, TypeScript, and Tailwind CSS, providing you with a modern and powerful toolkit to develop efficient and maintainable applications. Whether you're a college student with some web development experience or a professional looking to enhance your skills, this course is tailored to help you excel.

By the end of the course, you will have a thorough understanding of advanced React concepts and the ability to apply them in real-world scenarios.

In addition, you will discover best practices for structuring and organizing your projects, improving your workflow, and boosting your productivity. By the end of the course, you will have a thorough understanding of advanced React concepts and the ability to apply them in real-world scenarios. Join us and take the next step in your development career with "Master Advanced React Component Composition."

Who this course is for:

  • The course is designed for intermediate to advanced learners who have a foundational understanding of JavaScript and React. It is ideal for developers who want to deepen their knowledge of React component architecture and design patterns.