stateの使い方
stateは、画面の状態を保存するためのものです。
例えば、カウントアップボタンを押すと画面に表示される数字が増えるページをReact.jsで作るとき。この数値は、stateを使って保存されています。
stateを使う基本
stateを使うときには、React.Componentクラスのコンストラクターで、どんなものをstateとして持ちたいか定義します。
import React from "react";
import ReactDOM from "react-dom";
class App extends React.Component {
constructor(props) {
super(props);
this.state = {
count : 0
};
};
handleClick = () => {
this.setState({
count: this.state.count + 1,
});
};
render() {
return (
<div>
<button onClick={this.handleClick}>カウントアップ</button>
<p>{this.state.count}</p>
</div>
);
}
}
ReactDOM.render(
<App />,
document.getElementById('root')
);
定義したstateの値を変更するには、React.Componentクラスで用意されているsetState関数を使います。そして、stateの値を変更すると、画面は再描画(再レンダリング)されます。
この再レンダリングと連動して、さらに何かを動かすような処理を書くこともあり、React.jsではよく使う概念です。
フック「useState」を使う方法が主流
React.jsの16.8バージョンからはフックと呼ばれるものが導入され、stateに関する処理をより少ないコードで書くことができるようになりました。