This Banner is For Sale !!
Get your ad here for a week in 20$ only and get upto 15k traffic Daily!!!

Converting React Class Components to Functional Components: A Checklist and Example


When changing a React class element to a practical element, you possibly can observe this guidelines:

  1. Create a Practical Part: Begin by creating a brand new practical element utilizing the perform key phrase or an arrow perform.

  2. Transfer render Technique Content material: Transfer the content material of the render technique from the category element into the physique of the practical element. This content material can be instantly returned by the practical element.

  3. Change this.props with props: Within the practical element, change all cases of this.props with props. In case you’re utilizing destructuring, you possibly can extract the required props instantly from the perform’s arguments.

  4. Deal with State with useState: If the category element makes use of state, change the this.state object with the useState hook. For every state variable, create a separate useState name and replace the corresponding references within the element.

  5. Deal with Lifecycle Strategies with Hooks: Change lifecycle strategies akin to componentDidMount, componentDidUpdate, and componentWillUnmount with the useEffect hook. You could want to make use of a number of useEffect hooks with completely different dependencies to copy the conduct of various lifecycle strategies.

  6. Change Class Strategies with Capabilities: Convert class strategies into common capabilities or arrow capabilities inside the practical element. Replace the strategy calls accordingly.

  7. Take away this: Take away all cases of the this key phrase, as it isn’t utilized in practical elements.

  8. Deal with Context with useContext: If the category element makes use of context, change the Context.Shopper sample with the useContext hook.

  9. Replace Occasion Handlers: Replace occasion handlers to reference the brand new capabilities created in step 6. Take away any bindings that had been beforehand required for sophistication strategies.

  10. Take a look at the Part: Totally take a look at the transformed practical element to make sure that it behaves as anticipated. Confirm that state updates, occasion handlers, and negative effects work appropriately.

This is an instance of changing a easy class element to a practical element:

// Class Part
import React, { Part } from 'react';

class Counter extends Part {
  constructor(props) {
    tremendous(props);
    this.state = { depend: 0 };
    this.increment = this.increment.bind(this);
  }

  increment() {
    this.setState({ depend: this.state.depend + 1 });
  }

  render() {
    return (
      <div>
        <p>Rely: {this.state.depend}</p>
        <button onClick={this.increment}>Increment</button>
      </div>
    );
  }
}

export default Counter;

// Transformed Practical Part
import React, { useState } from 'react';

const Counter = () => {
  const [count, setCount] = useState(0);

  const increment = () => {
    setCount(depend + 1);
  };

  return (
    <div>
      <p>Rely: {depend}</p>
      <button onClick={increment}>Increment</button>
    </div>
  );
};

export default Counter;
Enter fullscreen mode

Exit fullscreen mode

On this instance, the category element Counter is transformed to a practical element. The state and increment technique are changed with the useState hook and a daily perform, respectively. The render technique content material is instantly returned by the practical element.

The Article was Inspired from tech community site.
Contact us if this is inspired from your article and we will give you credit for it for serving the community.

This Banner is For Sale !!
Get your ad here for a week in 20$ only and get upto 10k Tech related traffic daily !!!

Leave a Reply

Your email address will not be published. Required fields are marked *

Want to Contribute to us or want to have 15k+ Audience read your Article ? Or Just want to make a strong Backlink?