Walaupun tiada penyelesaian pengurusan negeri React rasmi wujud, beberapa perpustakaan dengan lancar diintegrasikan dengan paradigmnya. Artikel ini menunjukkan membina aplikasi mudah menggunakan React dengan dua perpustakaan sedemikian: redux dan immutable.js.
Takeaways utama:
Redux, yang diilhamkan oleh Flux dan Elm, adalah perpustakaan ringan yang bertindak sebagai repositori pusat untuk keadaan permohonan. Ia mengawal perubahan negara menggunakan prinsip berikut:
Suatu kedai memegang keseluruhan keadaan aplikasi.
immutableJS: Struktur data yang tidak berubah
Sejak Redux menghalang mutasi negeri langsung, menggunakan struktur data yang tidak berubah menguatkuasakan kekangan ini. ImmutableJS menawarkan koleksi yang tidak berubah dengan antara muka seperti yang boleh berubah, menarik inspirasi dari Clojure dan Scala.
Demo: Senarai Todo Mudah
Contoh ini menggunakan React, Redux, dan ImmutableJs untuk membuat senarai TODO yang membolehkan penambahan dan siap siap tugas. Kod Lengkap boleh didapati di GitHub [pautan ke repo github akan pergi ke sini].
Persediaan
package.json
menggunakan npm init
. npm install --save react react-dom redux react-redux immutable npm install --save-dev webpack babel-core babel-loader babel-preset-es2015 babel-preset-react
webpack.config.js
: module.exports = { entry: './src/app.js', output: { path: __dirname, filename: 'bundle.js' }, module: { loaders: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', query: { presets: ['es2015', 'react'] } } ] } };
package.json
: "scripts": { "build": "webpack --debug" }
run npm run build
untuk disusun.
Komponen React
Kami akan membuat dua komponen: <todo></todo>
dan <todolist></todolist>
. (Kod komponen akan dimasukkan di sini, sama seperti input asal tetapi berpotensi dengan pelarasan kecil untuk kejelasan dan kesimpulan).
redux dan integrasi tidak berubah
Terjemahkan data dummy ke dalam koleksi ImmutableJS: (Kod untuk menukar data dummy ke immutableJS akan dimasukkan di sini).
Laraskan komponen untuk menggunakan kaedah immutableJS (mis., todo.get('id')
bukan todo.id
).
Tindakan
Tentukan pencipta tindakan untuk menambah dan menukarkan todo: (Kod untuk pencipta tindakan akan dimasukkan di sini).
reducer
Buat fungsi reducer untuk mengendalikan tindakan dan mengemas kini keadaan: (Kod untuk fungsi reducer akan dimasukkan di sini).
Menyambung komponen dan simpan
Buat kedai dan sambungkannya ke komponen React menggunakan react-redux
: (kod untuk menghubungkan komponen dan kedai, termasuk bekas dan penyedia, akan dimasukkan di sini).
Kesimpulan
Walaupun ekosistem React dan Redux mempunyai lengkung pembelajaran yang curam, prinsip -prinsip asas digunakan secara meluas. Pengenalan ini menyediakan asas untuk meneroka seni bina dan bahasa yang serupa. Kemahiran dalam seni bina berasaskan tindakan dan data yang tidak berubah semakin berharga untuk pemaju web moden.
Soalan Lazim Menggunakan Redux dengan React (bahagian ini akan ditambah di sini, diubahsuai untuk kebolehbacaan yang lebih baik dan berpotensi dipendekkan/diringkaskan untuk keringkasan)
Atas ialah kandungan terperinci Cara Membina Aplikasi Todo Menggunakan React, Redux, dan Immutable.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!