With a quick glance at the examples below, it's immediately clear that with hooks:
- managing state is simplified
- there is no more dealing with "this"
- code is much shorter
- life is much better
Stateful Class Component
import React, { Component } from "react";
class ClickCount extends Component {
constructor(props) {
super(props);
this.state = { count: 1 };
this.clickHandler = this.clickHandler.bind(this);
}
clickHandler() {
this.setState({ count: this.state.count + 1 });
};
render() {
return (
<div>
<p>You clicked {this.state.count} times</p>
<button onClick={this.clickHandler}>Click me</button>
</div>
);
}
}
Functional Component with Hooks
import React, { useState } from "react";
function ClickCount() {
const [count, setCount] = useState(0);
function clickHandler() {
setCount(count + 1);
}
return (
<div>
<p>You clicked {count} times</p>
<button onClick={clickHandler}>Click me</button>
</div>
);
}
Hooks was introduced with the release of React 16.8. Follow this link to learn more about React Hooks.
Top comments (0)