Thursday, 22 September 2022

React state and props

 React State

Every component in react has a built-in state object, which contains all the property values that belong to that component.

In other words, the state object controls the behaviour of a component. Any change in the property values of the state object leads to the re-rendering of the component.

Note- State object is not available in functional components but, we can use React Hooks to add state to a functional component.

How to declare a state object?

Example: 

    class Car extends React.Component{
            constructor(props){
               super(props);
               this.state = {
                brand: "BMW",
                color: "black"
          }
        }
    }

How to use and update the state object?

class Car extends React.Component {
    constructor(props) {
      super(props);
      this.state = {
        brand: "BMW",
        color: "Black"
      };
    }
    changeColor() {
      this.setState(prevState => {
        return { color: "Red" };
      });
    }
    render() {
      return (
        <div>
          <button onClick={() => this.changeColor()}>Change Color</button>
          <p>{this.state.color}</p>
        </div>
      );
    }
    }

As one can see in the code above, we can use the state by calling this.state.propertyName and we can change the state object property using setState method.

React Props

Every React component accepts a single object argument called props (which stands for “properties”).  These props can be passed to a component using HTML attributes and the component accepts these props as an argument.

Using props, we can pass data from one component to another.

Passing props to a component:

While rendering a component, we can pass the props as an HTML attribute:

<Car brand="Mercedes"/>

The component receives the props:

In Class component:

class Car extends React.Component {
    constructor(props) {
      super(props);
      this.state = {
        brand: this.props.brand,
        color: "Black"
      };
    }
    }

In Functional component:

function Car(props) {
    let [brand, setBrand] = useState(props.brand);
}

Note- Props are read-only. They cannot be manipulated or changed inside a component

What are the differences between state and props?

 

State

Props

Use

Holds information about the

components

Allows to pass data from one component to other components as an argument

Mutability

Is mutable

Are immutable

Read-Only

Can be changed

Are read-only

Child components

Child components cannot access 

Child component can access

Stateless components

Cannot have state

Can have props


0 comments:

Post a Comment

Topics

ADFS (1) ADO .Net (1) Ajax (1) Angular (47) Angular Js (15) ASP .Net (14) Authentication (4) Azure (3) Breeze.js (1) C# (49) CD (1) CI (2) CloudComputing (2) Coding (8) CQRS (1) CSS (2) Design_Pattern (7) DevOps (4) DI (3) Dotnet (10) DotnetCore (19) Entity Framework (4) ExpressJS (4) Html (4) IIS (1) Javascript (17) Jquery (8) Lamda (3) Linq (10) microservice (4) Mongodb (1) MVC (46) NodeJS (8) React (10) SDLC (1) Sql Server (32) SSIS (3) SSO (1) TypeScript (3) UI (1) UnitTest (2) WCF (14) Web Api (16) Web Service (1) XMl (1)

Dotnet Guru Archives