Rumah >hujung hadapan web >tutorial js >Panduan Komprehensif untuk Keadaan Bertindak balas: Mengurus Data Dinamik dalam Komponen Anda
Dalam React, state merujuk kepada objek yang menyimpan data dinamik yang mempengaruhi cara komponen membuat dan bertindak. State membolehkan komponen menjadi interaktif dengan menyimpan maklumat yang boleh berubah dari semasa ke semasa. Apabila keadaan berubah, React secara automatik memaparkan semula komponen untuk mencerminkan keadaan baharu.
Panduan ini akan membimbing anda melalui asas keadaan React, cara menggunakannya dengan berkesan dan cara ia membantu mengurus UI dinamik.
State in React ialah objek terbina dalam yang menyimpan data atau maklumat yang boleh berubah sepanjang kitaran hayat komponen. Tidak seperti props, yang dihantar daripada komponen induk kepada anak, keadaan diuruskan dalam komponen itu sendiri dan boleh berubah secara dinamik sebagai tindak balas kepada tindakan pengguna atau acara lain.
Sebagai contoh, keadaan boleh menyimpan input pengguna, data borang atau status semasa butang togol.
Dalam komponen berfungsi, keadaan biasanya diurus menggunakan cangkuk useState. Cangkuk useState membolehkan anda mengisytiharkan pembolehubah keadaan dan menyediakan fungsi untuk mengemas kininya.
const [state, setState] = useState(initialValue);
import React, { useState } from 'react'; const Counter = () => { // Declare state variable "count" with initial value of 0 const [count, setCount] = useState(0); // Increment the count when the button is clicked const increment = () => setCount(count + 1); return ( <div> <p>Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
Dalam komponen kelas, keadaan diisytiharkan di dalam pembina menggunakan this.state, dan kemas kini dibuat menggunakan this.setState().
const [state, setState] = useState(initialValue);
State dalam React dikemas kini melalui fungsi setter (setState untuk komponen berfungsi dan ini.setState untuk komponen kelas). Apabila keadaan dikemas kini, React memaparkan semula komponen untuk mencerminkan keadaan baharu.
#### Contoh (Komponen Berfungsi):
import React, { useState } from 'react'; const Counter = () => { // Declare state variable "count" with initial value of 0 const [count, setCount] = useState(0); // Increment the count when the button is clicked const increment = () => setCount(count + 1); return ( <div> <p>Count: {count}</p> <button onClick={increment}>Increment</button> </div> ); }; export default Counter;
#### Membetulkan dengan Kemas Kini Berfungsi:
import React, { Component } from 'react'; class Counter extends Component { constructor(props) { super(props); // Declare state in the constructor this.state = { count: 0 }; } // Method to increment the count increment = () => { this.setState({ count: this.state.count + 1 }); }; render() { return ( <div> <p>Count: {this.state.count}</p> <button onClick={this.increment}>Increment</button> </div> ); } } export default Counter;
React membolehkan anda menggunakan berbilang pembolehubah keadaan dalam satu komponen, menjadikannya lebih modular dan mudah untuk mengurus keadaan kompleks.
const [count, setCount] = useState(0); const increment = () => { setCount(count + 1); console.log(count); // This will log the old value, not the updated one };
Dalam React, jika dua atau lebih komponen perlu berkongsi keadaan yang sama, anda "menaikkan keadaan" kepada nenek moyang mereka yang sama. Nenek moyang yang sama kemudiannya boleh meneruskan fungsi kemas kini keadaan dan keadaan kepada komponen anak sebagai prop.
const [state, setState] = useState(initialValue);
State ialah salah satu konsep teras React dan penting untuk mencipta UI yang interaktif dan dinamik. Dengan memahami cara menggunakan useState dalam komponen berfungsi dan this.state dalam komponen kelas, anda boleh mengurus data dinamik dalam apl anda dengan berkesan. Ingatlah untuk mengikuti amalan terbaik seperti menaikkan keadaan dan mengekalkan keadaan setempat untuk mengurangkan kerumitan dan memastikan prestasi optimum.
Atas ialah kandungan terperinci Panduan Komprehensif untuk Keadaan Bertindak balas: Mengurus Data Dinamik dalam Komponen Anda. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!