Hai pembangun! Lucky Jain di sini, menyediakan panduan yang jelas untuk pengurusan negeri React. Terharu dengan penggerudian prop atau alat pengurusan negeri yang kompleks? Pecahan ini memudahkan proses.
React cemerlang dalam UI interaktif, tetapi mengurus keadaan dalam apl yang lebih besar menjadi mencabar. "Penggerudian prop" yang digeruni menjadikan mengekalkan kod sebagai mimpi ngeri. Penyelesaian pengurusan negeri menawarkan talian hayat!
Walaupun banyak pilihan wujud, kami akan menumpukan pada dua pilihan popular: Context API dan Redux Toolkit.
API Konteks ialah penyelesaian pengurusan keadaan asal React, sesuai untuk aplikasi yang lebih mudah.
Bila Penggunaan:
Cara Ia Berfungsi:
Pada asasnya, API Konteks mencipta pembolehubah global yang boleh diakses oleh mana-mana komponen dalam aplikasi anda.
Contoh Kod (Pengurusan Tema):
<code class="language-javascript">import React, { createContext, useContext, useState } from "react"; const ThemeContext = createContext(); const ThemeProvider = ({ children }) => { const [theme, setTheme] = useState("light"); const toggleTheme = () => setTheme(theme === "light" ? "dark" : "light"); return ( <ThemeContext.Provider value={{ theme, toggleTheme }}> {children} </ThemeContext.Provider> ); }; // ... rest of the components using useContext(ThemeContext)</code>
Kebaikan:
Keburukan:
Untuk aplikasi yang lebih besar dan lebih rumit, Redux Toolkit ialah pengubah permainan. Ia menyelaraskan pembangunan Redux, menghapuskan kod boilerplate.
Bila Penggunaan:
Cara Ia Berfungsi:
Redux Toolkit menggabungkan alat Redux penting ke dalam satu pakej, memudahkan persediaan dan penggunaan.
Contoh Kod (Kaunter Mudah):
(1. Pemasangan): npm install @reduxjs/toolkit react-redux
(2. Penciptaan Slice): counterSlice.js
<code class="language-javascript">import { createSlice } from "@reduxjs/toolkit"; const counterSlice = createSlice({ name: "counter", initialState: { value: 0 }, reducers: { increment: (state) => { state.value += 1; }, decrement: (state) => { state.value -= 1; }, reset: (state) => { state.value = 0; }, }, }); export const { increment, decrement, reset } = counterSlice.actions; export default counterSlice.reducer;</code>
(3. Konfigurasi Kedai): store.js
<code class="language-javascript">import { configureStore } from "@reduxjs/toolkit"; import counterReducer from "../features/counter/counterSlice"; const store = configureStore({ reducer: { counter: counterReducer }, }); export default store;</code>
(4. Penggunaan Komponen): App.js
<code class="language-javascript">import React from "react"; import { useSelector, useDispatch } from "react-redux"; import { increment, decrement, reset } from "./features/counter/counterSlice"; // ... component using useSelector and useDispatch</code>
Kebaikan:
createAsyncThunk
).Keburukan:
Feature | Context API | Redux Toolkit |
---|---|---|
Setup Complexity | Low | Moderate |
Performance | Can degrade | Optimized |
Best Use Case | Small apps | Complex apps |
Atas ialah kandungan terperinci Apa yang anda perlu tahu tentang pengurusan negeri dalam React!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!