React Class Components
⚛️ React Class Components
A class component is a JavaScript class that extends React.Component and must have a render() method which returns JSX.
Basic Structure
class Welcome→ defines the componentextends React.Component→ inherits React component featuresrender()→ returns the JSX to be displayed
Using Class Component
Class components can be reused just like functional components.
Props in Class Components
Props are accessed using this.props:
State in Class Components
Class components can maintain internal state.
this.state→ stores component datathis.setState()→ updates state and re-renders the componentMethods like
incrementoften need to bindthis(or use arrow functions)
Lifecycle Methods
Class components provide built-in lifecycle methods:
| Method | When it runs |
|---|---|
constructor() | Initialize state and props |
componentDidMount() | After first render |
componentDidUpdate(prevProps, prevState) | After state or props change |
componentWillUnmount() | Before component is removed |
Example:
Advantages of Class Components
Access to state
Access to lifecycle methods
Works with props
Good for complex components (though now hooks replace most uses)
Modern Recommendation
Functional components with hooks are now preferred:
Class components are still supported for legacy code.
🎯 Summary
| Feature | Class Component | Functional Component |
|---|---|---|
| Syntax | class X extends React.Component | function X() {} |
| State | this.state | useState hook |
| Lifecycle | componentDidMount, componentDidUpdate | useEffect hook |
this binding | Required for normal methods | Not needed |
| Modern usage | Less common | Preferred |
