DEV Community

swetha palani
swetha palani

Posted on

Props types in raect

In React, PropTypes is a way to check the data types of props that a component receives.
It helps you catch bugs by warning you if the wrong type of data is passed to a component.

Why use PropTypes?

  • Ensures components get the right type of data.
  • Provides documentation for other developers.
  • Helps in debugging unexpected prop values.

How to use PropTypes

  1. Import prop-types package:
npm install prop-types
Enter fullscreen mode Exit fullscreen mode
  1. Example in a component:
import React from "react";
import PropTypes from "prop-types";

function Student(props) {
  return (
    <div>
      <p>Name: {props.name}</p>
      <p>Age: {props.age}</p>
      <p>Student: {props.isStudent ? "Yes" : "No"}</p>
    </div>
  );
}

//  Setting PropTypes
Student.propTypes = {
  name: PropTypes.string.isRequired,   // must be a string
  age: PropTypes.number,              // must be a number
  isStudent: PropTypes.bool           // must be true/false
};

// Default props
Student.defaultProps = {
  age: 18,
  isStudent: false
};

export default Student;
Enter fullscreen mode Exit fullscreen mode

Common PropTypes

  • PropTypes.string → string
  • PropTypes.number → number
  • PropTypes.bool → true/false
  • PropTypes.array → array
  • PropTypes.object → object
  • PropTypes.func → function
  • PropTypes.node → anything that can be rendered (elements, strings, numbers)
  • PropTypes.element → React element
  • PropTypes.oneOf(["a", "b"]) → one specific value
  • PropTypes.arrayOf(PropTypes.number) → array of numbers
  • PropTypes.shape({ key: PropTypes.string }) → object with specific structure

PropTypes vs TypeScript in React

Feature PropTypes TypeScript
What it is A separate library (prop-types) for runtime type checking A superset of JavaScript that adds static typing
Type Checking Happens at runtime → shows warnings in the console when props are invalid Happens at compile-time → errors before running the code
Scope Only checks props in React components Checks props + state + functions + variables + entire codebase
Installation npm install prop-types npm install typescript
Ease of Use Lightweight, simple, no extra setup More setup (tsconfig.json, type definitions)
Best For Small projects, quick prop validation Large projects, full-scale type safety

Interview-Friendly Answer (30 sec)

“PropTypes is a library in React for runtime type checking of props, whereas TypeScript provides compile-time type safety for the entire codebase, not just props. PropTypes is simpler and useful in small projects, but TypeScript is preferred in modern large-scale applications because it prevents errors before running the code.”

Top comments (0)