Mengakses Keadaan Redux dalam Pencipta Tindakan: Kebaikan dan Keburukan
Mengakses keadaan kedai Redux dari dalam pencipta tindakan kekal menjadi topik perdebatan dalam komuniti.
Pendekatan 1: Mengimport Kedai
import store from '../store'; export const SOME_ACTION = 'SOME_ACTION'; export function someAction() { return { type: SOME_ACTION, items: store.getState().otherReducer.items, } }
Walaupun pendekatan ini mengelakkan perisian tengah, pendekatan ini bergantung pada kedai sebagai satu eksport yang dieksport daripada modul. Walau bagaimanapun, pemaparan pelayan memerlukan stor yang berasingan untuk setiap permintaan, menjadikan pendekatan ini tidak praktikal.
Pendekatan 2: Menggunakan getState
export const SOME_ACTION = 'SOME_ACTION'; export function someAction() { return (dispatch, getState) => { const {items} = getState().otherReducer; dispatch(anotherAction(items)); } }
Pendekatan ini memerlukan penggunaan Redux Thunk middleware tetapi membenarkan lebih fleksibiliti, berfungsi dengan lancar pada kedua-dua pelanggan dan pelayan.
Pendapat daripada Redux Contributors
Pendapat tentang perkara ini berbeza-beza antara penyumbang Redux:
Kesimpulan
Akhirnya, keputusan untuk mengakses keadaan dalam tindakan pencipta bergantung pada keperluan khusus aplikasi. Jika muatan tindakan minimum dikehendaki, mengelakkan getState mungkin lebih baik. Walau bagaimanapun, jika kes penggunaan membenarkannya, mengakses keadaan dalam thunks memberikan lebih fleksibiliti dan keserasian bahagian pelayan.
Atas ialah kandungan terperinci Bilakah Mengakses Redux State Within Action Creators Wajar?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!