React Component API

ReactJS component is a top-level API. It makes the code completely individual and reusable in the application. It includes various methods for:

  • Creating elements
  • Transforming elements
  • Fragments

Here, we are going to explain the three most important methods available in the React component API.

  1. setState()
  2. forceUpdate()
  3. findDOMNode()

setState()

This method is used to update the state of the component. This method does not always replace the state immediately. Instead, it only adds changes to the original state. It is a primary method that is used to update the user interface(UI) in response to event handlers and server responses.

Note
Note: In the ES6 classes, this.method.bind(this) is used to manually bind the setState() method.

Syntax

snippet
this.stateState(object newState[, function callback]);

In the above syntax, there is an optional callback function which is executed once setState() is completed and the component is re-rendered.

Example

snippet
import React, { Component } from 'react';
import PropTypes from 'prop-types';
class App extends React.Component {
   constructor() {
      super();		
      this.state = {
          msg: "Welcome to rookienerd"
      };	
      this.updateSetState = this.updateSetState.bind(this);
   }
   updateSetState() {
       this.setState({
          msg:"Its a best ReactJS tutorial"
       });
   }
   render() {
      return (
         <div>
             <h1>{this.state.msg}</h1>
             <button onClick = {this.updateSetState}>SET STATE</button>
         </div>
      );
   }
}
export default App;

Main.js

snippet
import React from 'react';
import ReactDOM from 'react-dom';
import App from './App.js';

ReactDOM.render(<App/>, document.getElementById('app'));

Output:

React Component API

When you click on the SET STATE button, you will see the following screen with the updated message.

React Component API

forceUpdate()

This method allows us to update the component manually.

Syntax

snippet
Component.forceUpdate(callback);

Example

App.js

snippet
import React, { Component } from 'react';
class App extends React.Component {
   constructor() {
      super();			
      this.forceUpdateState = this.forceUpdateState.bind(this);
   }
   forceUpdateState() {
      this.forceUpdate();
   };
   render() {
      return (
         <div>
             <h1>Example to generate random number</h1>
             <h3>Random number: {Math.random()}</h3>
             <button onClick = {this.forceUpdateState}>ForceUpdate</button>
         </div>
      );
   }
}
export default App;

Output:

React Component API

Each time when you click on ForceUpdate button, it will generate the random number. It can be shown in the below image.

React Component API

findDOMNode()

For DOM manipulation, you need to use ReactDOM.findDOMNode() method. This method allows us to find or access the underlying DOM node.

Syntax

snippet
ReactDOM.findDOMNode(component);

Example

For DOM manipulation, first, you need to import this line: import ReactDOM from 'react-dom' in your App.js file.

App.js

snippet
import React, { Component } from 'react';
import ReactDOM from 'react-dom';
class App extends React.Component {
   constructor() {
      super();
      this.findDomNodeHandler1 = this.findDomNodeHandler1.bind(this);
      this.findDomNodeHandler2 = this.findDomNodeHandler2.bind(this);
   };
   findDomNodeHandler1() {
       var myDiv = document.getElementById('myDivOne');
       ReactDOM.findDOMNode(myDivOne).style.color = 'red';
   }
   findDomNodeHandler2() {
       var myDiv = document.getElementById('myDivTwo');
       ReactDOM.findDOMNode(myDivTwo).style.color = 'blue';
   }
   render() {
      return (
         <div>
             <h1>ReactJS Find DOM Node Example</h1>
             <button onClick = {this.findDomNodeHandler1}>FIND_DOM_NODE1</button>
             <button onClick = {this.findDomNodeHandler2}>FIND_DOM_NODE2</button>
             <h3 id = "myDivOne">JTP-NODE1</h3>
             <h3 id = "myDivTwo">JTP-NODE2</h3>
         </div>
      );
   }
}
export default App;

Output:

React Component API

Once you click on the button, the color of the node gets changed. It can be shown in the below screen.

React Component API
Related Tutorial
Follow Us
https://www.facebook.com/Rookie-Nerd-638990322793530 https://twitter.com/RookieNerdTutor https://plus.google.com/b/117136517396468545840 #
Contents +