■stateとは
・コンポーネント内で管理する変数
・プロップスとして子コンポーネントに渡せる
・ローカルステートと呼ばれる
★Reduxはどのコンポーネントからでも参照できるグローバルステートを持っている。
ローカルステートはその対義語的な意味合い。
■なぜstateを使うのか
・render()内では値を変更してはいけない
・setState()で変更する
・stateの変更は再レンダーのきっかけ
■stateの取得
・同コンポーネントならthis.state.keyで取得できる
・子コンポーネントで参照したい時はpropsとして渡す
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
class Blog extends React.Component { constructor(props) { super(props); this.state = { isPublished: false, } } togglePublished = () => { this.setState({ isPublished: !this.state.isPublished }) }; render() { return ( <React.Fragment> <Article title={"reactの使い方"} isPublished={this.state.isPublished} toggle={() => this.togglePublished()} /> </React.Fragment> ); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import React from "react"; const Article = (props) => { return ( <div> <h2>{props.title}</h2> <label htmlFor="check">公開状態</label> <input type="checkbox" checked={props.isPublished} id="check" onClick={() => props.toggle()}/> </div> ); }; export default Article; |