Rumah > hujung hadapan web > tutorial js > Bagaimanakah Pencipta Tindakan Redux Perlu Mengakses Keadaan: Dari Kedai atau Thunk?

Bagaimanakah Pencipta Tindakan Redux Perlu Mengakses Keadaan: Dari Kedai atau Thunk?

Barbara Streisand
Lepaskan: 2024-10-21 18:48:29
asal
571 orang telah melayarinya

How Should Redux Action Creators Access State: From Store or Thunk?

Mengakses Redux State Within Action Creators

Soalan:

Dalam aplikasi Redux, bagaimana bolehkah seseorang mengakses keadaan kedai global dari dalam pencipta tindakan? Adakah pendekatan berikut sesuai?

Pendekatan 1:

<code class="javascript">import store from '../store';

export const SOME_ACTION = 'SOME_ACTION';
export function someAction() {
  return {
    type: SOME_ACTION,
    items: store.getState().otherReducer.items,
  }
}</code>
Salin selepas log masuk

Pendekatan 2:

<code class="javascript">export const SOME_ACTION = 'SOME_ACTION';
export function someAction() {
  return (dispatch, getState) => {
    const {items} = getState().otherReducer;

    dispatch(anotherAction(items));
  }
}</code>
Salin selepas log masuk

Jawapan:

Kebolehterimaan untuk mengakses keadaan dalam pencipta tindakan ialah topik perdebatan dalam komuniti Redux.

Pendekatan 1:

Mengakses keadaan secara terus melalui store.getState() tidak digalakkan kerana ia bergantung pada kedai sebagai singleton global. Pada pelayan, di mana kedai berasingan mungkin wujud setiap permintaan, pendekatan ini bermasalah.

Pendekatan 2:

Pendekatan ini lebih disukai kerana ia menggunakan perisian tengah Redux Thunk, yang membenarkan tindakan tak segerak dan mendapatkan semula keadaan kedai melalui getState(). Thunk berfungsi dengan lancar pada kedua-dua pelanggan dan pelayan serta memastikan akses keadaan diasingkan kepada tindakan tertentu.

Pertimbangan:

  • Perspektif Redux Creator: Akses nyatakan dalam tindakan pencipta mungkin mengaburkan sejarah perubahan dan secara amnya tidak digalakkan.
  • Perspektif Redux Maintainer: Menggunakan getState dalam bentuk thunks adalah digalakkan kerana ia memanfaatkan ciri yang direka khusus untuk kes penggunaan sedemikian .

Akhirnya, kedua-dua pendekatan boleh membuahkan hasil yang diingini, tetapi Pendekatan 2 ialah amalan terbaik yang disyorkan untuk mengelakkan kemungkinan perangkap dan mengekalkan konsistensi merentas persekitaran.

Atas ialah kandungan terperinci Bagaimanakah Pencipta Tindakan Redux Perlu Mengakses Keadaan: Dari Kedai atau Thunk?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan