Kit alat Redux lengkap (Bahagian-1)
Tujuan Redux Toolkit
Kami sudah mengetahui redux ialah perpustakaan pengurusan negeri yang berkuasa untuk aplikasi JavaScript kami, terutamanya apabila bekerja dengan React.
Tetapi bekerja dengan redux adalah sukar kerana kodnya yang berat untuk menyediakan redux. Yang menjadikannya sukar untuk diselenggara dan nyahpepijat. Di situlah Redux Toolkit datang untuk membantu.
Masalah Redux toolkit selesaikan
- Menyediakan kedai terlalu rumit.
- Menambahkan banyak pakej untuk berfungsi dengan redux cth., Middleware , alatan.
- Redux memerlukan terlalu banyak kod untuk disediakan
Kit alat Redux ialah cara rasmi dan disyorkan untuk menulis logik redux. Ia menyediakan satu set alatan untuk memudahkan pembangunan, mengurangkan kod boilerplate yang membantu menjadikan kebolehskalaan dan aplikasi boleh diselenggara.
Faedah utama Redux Toolkit:
- Kurang kod plat dandang: Alih keluar keperluan untuk pencipta tindakan dan pemalar.
- Persediaan kedai ringkas: Menyediakan API tunggal untuk mengkonfigurasi kedai dengan lalai yang wajar.
- Sokongan terbina dalam untuk kebolehubahan dan DevTools: Mendayakan Redux DevTools secara automatik dan disepadukan dengan Immer untuk kebolehubahan.
- Sokongan TypeScript yang lebih baik: Menyediakan penaipan yang lebih baik dan disepadukan dengan baik dengan TypeScript.
Kami boleh menggunakan redux toolkit dengan mana-mana pustaka javascript jadi kami menyediakan redux toolkit dengan react.
Menyediakan Redux Toolkit dalam Aplikasi React
Langkah 1: Buat Projek React Baharu
Mula-mula, mari buat aplikasi React baharu. Anda boleh menggunakan create-react-app atau Vite untuk tujuan ini. Kami akan menggunakan aplikasi create-react-di sini untuk kesederhanaan.
npx create-react-app redux-toolkit-example cd redux-toolkit-example
Langkah 2: Pasang Redux Toolkit dan React-Redux
Seterusnya, pasang pakej yang diperlukan: @reduxjs/toolkit dan react-redux.
npm install @reduxjs/toolkit react-redux
- Memahami Slices dan Reducer
Sepotong ialah koleksi logik dan tindakan pengurang Redux untuk ciri khusus aplikasi anda. Redux Toolkit menyediakan fungsi createSlice untuk membantu mencipta kepingan keadaan dengan boilerplate minimum.
Langkah 1: Buat Slice
Mari buat kepingan kaunter yang mudah. Cipta fail baharu bernama counterSlice.js di dalam direktori ciri/kaunter:
// src/features/counter/counterSlice.js import { createSlice } from '@reduxjs/toolkit'; const initialState = { value: 0, }; const counterSlice = createSlice({ name: 'counter', initialState, reducers: { increment: (state) => { state.value += 1; }, decrement: (state) => { state.value -= 1; }, incrementByAmount: (state, action) => { state.value += action.payload; }, }, }); export const { increment, decrement, incrementByAmount } = counterSlice.actions; export default counterSlice.reducer;
Di sini, kami mentakrifkan hirisan bernama kaunter dengan keadaan awal dan tiga pengurang (kenaikan, penurunan dan kenaikanByAmount). Fungsi createSlice menjana pencipta tindakan secara automatik untuk setiap fungsi pengurang.
- Mengkonfigurasi Kedai Redux
Sekarang kita mempunyai kepingan kita, mari kita konfigurasikan kedai Redux. Redux Toolkit menyediakan fungsi configureStore yang menyediakan kedai dengan lalai yang baik.
Langkah 1: Buat Kedai
Buat fail store.js di dalam direktori apl:
// src/app/store.js import { configureStore } from '@reduxjs/toolkit'; import counterReducer from '../features/counter/counterSlice'; const store = configureStore({ reducer: { counter: counterReducer, }, }); export default store;
Langkah 2: Sediakan Kedai kepada Apl Anda
Balut aplikasi React anda dalam komponen dari react-redux dan hantarkannya ke kedai. Kemas kini fail index.js:
// src/index.js import React from 'react'; import ReactDOM from 'react-dom'; import './index.css'; import App from './App'; import { Provider } from 'react-redux'; import store from './app/store'; ReactDOM.render( <React.StrictMode> <Provider store={store}> <App /> </Provider> </React.StrictMode>, document.getElementById('root') );
- Menyambung Komponen ke Kedai
Untuk berinteraksi dengan kedai Redux, gunakan useSelector dan useDispatch cangkuk yang disediakan oleh react-redux.
Langkah 1: Akses Keadaan dengan useSelector
Gunakan cangkuk useSelector untuk mengakses keadaan daripada kedai
// src/features/counter/Counter.js import React from 'react'; import { useSelector, useDispatch } from 'react-redux'; import { increment, decrement, incrementByAmount } from './counterSlice'; const Counter = () => { const count = useSelector((state) => state.counter.value); const dispatch = useDispatch(); return ( <div> <h1>{count}</h1> <button onClick={() => dispatch(increment())}>Increment</button> <button onClick={() => dispatch(decrement())}>Decrement</button> <button onClick={() => dispatch(incrementByAmount(5))}>Increment by 5</button> </div> ); }; export default Counter;
Langkah 2: Gunakan Komponen Kaunter dalam Apl Anda
Import dan gunakan komponen Kaunter dalam komponen Apl utama anda:
// src/App.js import React from 'react'; import Counter from './features/counter/Counter'; function App() { return ( <div className="App"> <Counter /> </div> ); } export default App;
- Kesimpulan dan Langkah Seterusnya
Dalam bahagian ini, kami merangkumi asas menyediakan Redux Toolkit dalam aplikasi React, termasuk membuat kepingan, mengkonfigurasi kedai dan menyambungkan komponen ke kedai Redux menggunakan cangkuk. Dalam bahagian seterusnya, kami akan menyelam lebih mendalam dalam mengendalikan logik tak segerak dengan createAsyncThunk untuk mengambil data daripada API dan mengurus keadaan pemuatan yang berbeza.
Nantikan Bahagian 2: Kit Alat Redux Lanjutan - Logik Async dengan createAsyncThunk!
Atas ialah kandungan terperinci Kit alat Redux lengkap (Bahagian-1). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Microfrontendssolvescalingchallengesinlargeteamsbyenablingindependentdevelopmentanddeployment.1) chooseanInintegrationstration: useModulefederationInwebPack5formruntimeLoadingandtrueindectivence, Build-timeIntegrationForseMlesetups, Oriframes/Web

Jenis Keadaan Lanjutan TypeScript Melaksanakan penghakiman logik antara jenis melalui Textendsu? X: Y Sintaks. Keupayaan terasnya ditunjukkan dalam jenis keadaan yang diedarkan, kesimpulan jenis kesimpulan dan pembinaan alat jenis kompleks. 1. Jenis bersyarat diedarkan dalam parameter jenis kosong dan secara automatik boleh memecah jenis bersama, seperti toarray untuk mendapatkan rentetan [] | number []. 2. Menggunakan Pengagihan untuk Membina Alat Penapisan dan Pengekstrakan: Tidak termasuk Kecualikan Jenis Melalui Textendsu? Tidak pernah: T, Ekstrak Ekstrak Persamaan melalui Textendsu? 3

varisfunction-scoped, canbereassigned, omredwithundefined, andattachedtotheglobalwindowobject; 2.Letandconstareblock-scoped, withletallowingreassignmentandconstnotallowingit, everconstobjectscanhaveMutabeTerSties;

Optionalchaining (?) InjavaScriptSafelyAccessSnestedPropertiesByReturningundefinedifanypartofthechainisnullorundefined, mencegahRuntimeerrors.1.itallowssafeaccesstodeperlynestedobjectproperties?

Artikel ini meneroka secara mendalam bagaimana untuk menghasilkan teka-teki yang dapat diselesaikan secara automatik untuk permainan teka-teki double-choco. Kami akan memperkenalkan struktur data yang cekap - objek sel berdasarkan grid 2D yang mengandungi maklumat sempadan, warna, dan keadaan. Atas dasar ini, kami akan menghuraikan algoritma pengiktirafan blok rekursif (serupa dengan carian kedalaman pertama) dan bagaimana untuk mengintegrasikannya ke dalam proses penjanaan teka-teki berulang untuk memastikan teka-teki yang dihasilkan memenuhi peraturan permainan dan dapat diselesaikan. Artikel ini akan menyediakan kod sampel dan membincangkan pertimbangan utama dan strategi pengoptimuman dalam proses penjanaan.

Kaedah yang paling biasa dan disyorkan untuk membuang kelas CSS dari elemen DOM menggunakan JavaScript adalah melalui kaedah mengeluarkan () harta klasik. 1. Gunakan elemen.classlist.remove ('className') untuk memadamkan satu kelas tunggal atau berganda dengan selamat, dan tiada kesilapan akan dilaporkan walaupun kelas tidak wujud; 2. Kaedah alternatif adalah untuk mengendalikan harta kelas secara langsung dan mengeluarkan kelas dengan penggantian rentetan, tetapi mudah untuk menyebabkan masalah disebabkan oleh pemprosesan yang tidak tepat atau pemprosesan ruang yang tidak betul, jadi tidak disyorkan; 3. 4.Classlist

Sintaks kelas JavaScript adalah gula sintaks yang diwarisi oleh prototaip. 1. Kelas yang ditakrifkan oleh kelas pada dasarnya adalah fungsi dan kaedah ditambah kepada prototaip; 2. Contohnya mencari kaedah melalui rantaian prototaip; 3. Kaedah statik tergolong dalam kelas itu sendiri; 4. Memperluas mewarisi melalui rantaian prototaip, dan lapisan asas masih menggunakan mekanisme prototaip. Kelas tidak mengubah intipati warisan prototaip JavaScript.

Pertama, gunakan NPXStoryBookInit untuk memasang dan mengkonfigurasi buku cerita dalam projek React, jalankan npmrunstorybook untuk memulakan pelayan pembangunan tempatan; 2. Mengatur struktur fail komponen mengikut fungsi atau jenis, dan buat fail .story.js yang sepadan untuk menentukan keadaan yang berbeza dalam setiap direktori komponen; 3. Gunakan sistem args dan kawalan buku cerita untuk mencapai pelarasan atribut dinamik untuk memudahkan ujian pelbagai keadaan interaktif; 4. Gunakan fail MDX untuk menulis dokumen teks yang kaya yang mengandungi spesifikasi reka bentuk, arahan kebolehaksesan, dan lain -lain, dan menyokong memuatkan MDX melalui konfigurasi; 5. Tentukan token reka bentuk melalui tema.js dan gunakan pratonton.js
