Redux: Cara mengirim banyak tindakan dalam satu pembuat tindakan

Dibuat pada 1 Jun 2015  ·  3Komentar  ·  Sumber: reduxjs/redux

Saya punya beberapa contoh tentang fluce:

function authFormSubmit(fluce) {
  const {valid, disabled, data: {username, password}} = fluce.stores.authForm

  if (disabled) return

  if (!valid) {
    fluce.dispatch(AUTH_FORM_ERROR, new Error('Form is invalid'))
    return
  }

  fluce.dispatch(AUTH_FORM_DISABLED, true)
  fluce.dispatch(AUTH_FORM_ERROR, null)

  authorize({username, password})
    .then(
      user => fluce.dispatch(CURRENT_USER, user),
      error => fluce.dispatch(AUTH_FORM_ERROR, error)
    )
    .then(
      () => fluce.dispatch(AUTH_FORM_DISABLED, false)
    );
}

Bagaimana cara menerapkan pembuat tindakan yang sama di redux? Haruskah saya membuat pembuat tindakan untuk setiap jenis tindakan?

Komentar yang paling membantu

Saya mungkin akan membiarkan pembuat tindakan mengembalikan fungsi. Jika itu sebuah fungsi, diberikan dispatch dan statusnya.

Semua 3 komentar

Saya mungkin akan membiarkan pembuat tindakan mengembalikan fungsi. Jika itu sebuah fungsi, diberikan dispatch dan statusnya.

Saya menambahkan dukungan untuk AC async seperti yang dijelaskan di atas. Untuk saat ini, mereka tidak dapat mengakses status—saya mungkin akan kembali ke sana di beberapa titik, tetapi saya tidak ingin terburu-buru menggunakan API.

Pembaruan: Anda dapat melakukan ini sekarang.

// Could also look into state in the callback form
export function incrementIfOdd() {
  return (dispatch, state) => {
    if (state.counterStore.counter % 2 === 0) {
      return;
    }

    dispatch(increment());
  };
}
Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

benoneal picture benoneal  ·  3Komentar

parallelthought picture parallelthought  ·  3Komentar

mickeyreiss-visor picture mickeyreiss-visor  ·  3Komentar

caojinli picture caojinli  ·  3Komentar

vraa picture vraa  ·  3Komentar