Dalam Redux, mengakses keadaan kedai global dalam pencipta tindakan boleh menjadi topik yang dipertikaikan. Di sini kita akan menyelidiki dua pendekatan untuk akses negeri dalam pencipta tindakan dan meneroka kebaikan dan keburukan mereka.
import store from '../store'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
Kaedah ini mengimport kedai secara langsung, bergantung padanya sebagai singleton dieksport daripada modul. Walaupun berfungsi, ia tidak digalakkan kerana pengehadan pemaparan pelayan, di mana kedai berasingan selalunya diperlukan setiap permintaan.
export function someAction() { return (dispatch, getState) => { const {items} = getState().otherReducer; dispatch(anotherAction(items)); } }
Pendekatan ini menggunakan perisian tengah Redux Thunk, teknik yang disyorkan. Thunk membenarkan pencipta tindakan menghantar fungsi dan bukannya objek tindakan biasa, memberikan akses kepada fungsi dispatch dan getState. Walaupun ia memerlukan perisian tengah, ia berfungsi dengan lancar untuk pemaparan sisi klien dan pelayan.
Akhirnya, pendekatan terbaik bergantung pada keperluan aplikasi individu. Sebaik-baiknya, tindakan harus mengandungi maklumat yang minimum; walau bagaimanapun, penggunaan getState in action creator boleh diterima apabila perlu. Pertimbangkan kebaikan dan keburukan kedua-dua pendekatan dan pilih pendekatan yang paling sesuai dengan projek anda.
Atas ialah kandungan terperinci Bilakah Akses Negeri dalam Pencipta Tindakan Redux Sesuai untuk Anda?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!