Komponen React memiliki objek state
bawaan.
Objek State
adalah di mana kamu menyimpan nilai properti yang dimiliki komponen.
Ketika objek state
berubah, komponen akan memberikan ulang.
Menciptakan Objek State
Objek State
diinisialisasi di constructor:
Contoh:
Tentukan objek state
dalam metode constructor:
class Car extends React.Component { constructor(props) { super(props); this.state = {brand: "Ford"}; } render() { return ( <div> <h1>My Car</h1> </div> ); } }
Objek State
dapat memuat sebanyak sifat yang kamu suka:
Contoh:
Tentukan semua properti yang dibutuhkan komponen Anda:
class Car extends React.Component { constructor(props) { super(props); this.state = { brand: "Ford", model: "Mustang", color: "red", year: 1964 }; } render() { return ( <div> <h1>My Car</h1> </div> ); } }
Menggunakan Objek State
Rujuk ke objek state
di mana saja dalam komponen dengan menggunakan sintaks: this.state.
propertyname
Contoh:
Rujuk ke objek state
dalam metode render()
:
class Car extends React.Component { constructor(props) { super(props); this.state = { brand: "Ford", model: "Mustang", color: "red", year: 1964 }; } render() { return ( <div> <h1>My {this.state.brand}</h1> <p> It is a {this.state.color} {this.state.model} from {this.state.year}. </p> </div> ); } }
Mengubah Objek State
Untuk mengubah keadaan nilai dalam objek, gunakan metode this.setState()
.
Ketika nilai dalam objek state
berubah, komponen akan memberikan ulang, artinya output akan berubah sesuai dengan nilai yang baru.
Contoh:
Tambahkan tombol dengan onClick
yang akan mengubah properti warna:
class Car extends React.Component { constructor(props) { super(props); this.state = { brand: "Ford", model: "Mustang", color: "red", year: 1964 }; } changeColor = () => { this.setState({color: "blue"}); } render() { return ( <div> <h1>My {this.state.brand}</h1> <p> It is a {this.state.color} {this.state.model} from {this.state.year}. </p> <button type="button" onClick={this.changeColor} >Change color</button> </div> ); } }