Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mengakses Redux State dalam Action Creators?

Bagaimana untuk Mengakses Redux State dalam Action Creators?

Barbara Streisand
Barbara Streisandasal
2024-10-21 18:47:02802semak imbas

How to Access Redux State within Action Creators?

Mengakses Redux State in Action Creators

Tindakan Redux biasanya direka bentuk untuk menjadi "nipis" dan mengandungi hanya maklumat yang diperlukan untuk mengemas kini aplikasi negeri. Walau bagaimanapun, dalam sesetengah senario, anda mungkin perlu mengakses keadaan kedai global dalam pencipta tindakan. Artikel ini meneroka dua pendekatan untuk berbuat demikian dan memberikan panduan tentang penggunaannya.

Menggunakan Kedai Singleton

Satu pendekatan melibatkan pengimportan kedai tunggal dan mengakses keadaannya secara langsung.

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 mudah dilaksanakan, pendekatan ini sangat bergantung pada kedai sebagai satu unit dan terdedah sebagai import modul. Reka bentuk ini tidak digalakkan kerana ia menghalang pelaksanaan pemaparan pelayan, di mana tika kedai yang berasingan biasanya diperlukan setiap permintaan.

Menggunakan Redux Thunk Middleware

Pendekatan yang disyorkan adalah untuk memanfaatkan perisian tengah Redux Thunk. Perisian tengah Thunk membenarkan fungsi tak segerak dihantar sebagai tindakan, menyediakan akses kepada kaedah 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, tetapi ia membenarkan akses fleksibel kepada keadaan kedai pada kedua-dua pelanggan dan persekitaran pelayan.

Pertimbangan

Penggunaan getState() dalam pencipta tindakan telah dibahaskan dalam komuniti Redux. Walaupun sesetengah pembangun menentangnya, yang lain percaya ia boleh diterima dalam senario tertentu, seperti penghantaran bersyarat atau mengakses data cache.

Akhirnya, pendekatan terbaik bergantung pada keperluan aplikasi tertentu. Jika akses kepada keadaan kedai diperlukan dalam pencipta tindakan, sama ada kedai tunggal atau pilihan perisian tengah Thunk boleh dipertimbangkan. Walau bagaimanapun, adalah penting untuk ambil perhatian bahawa tindakan secara amnya harus disimpan "nipis" untuk mengekalkan kejelasan dan kebolehkesanan.

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Redux State dalam Action Creators?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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