Redux: Bisakah bindActionCreators secara opsional mengambil daftar objek tindakan?

Dibuat pada 30 Jul 2015  ·  9Komentar  ·  Sumber: reduxjs/redux

Kami memiliki beberapa tempat dalam kode kami di mana kami melewati beberapa objek tindakan terikat ke dalam komponen. Akan sangat bagus jika secara opsional meneruskan daftar objek tindakan ke bindActionCreators .

bindActionCreators([SomeActions, OtherActions], dispatch)

Peringatan tentu saja adalah tindakan duplikat akan ditimpa oleh yang terakhir diproses.

Komentar yang paling membantu

Anda dapat melakukan ini dengan proposal penyebaran objek ES7:

bindActionCreators({ ...SomeActions, ...OtherActions }, dispatch)

atau (vanilla ES6, membutuhkan Object.assign polyfill atau plugin Babel)

bindActionCreators(Object.assign({}, SomeActions, OtherActions), dispatch)

atau (ES5, mengasumsikan lodash )

var assign = require('lodash/object/assign');

bindActionCreators(assign({}, SomeActions, OtherActions), dispatch)

Semua 9 komentar

Anda dapat melakukan ini dengan proposal penyebaran objek ES7:

bindActionCreators({ ...SomeActions, ...OtherActions }, dispatch)

atau (vanilla ES6, membutuhkan Object.assign polyfill atau plugin Babel)

bindActionCreators(Object.assign({}, SomeActions, OtherActions), dispatch)

atau (ES5, mengasumsikan lodash )

var assign = require('lodash/object/assign');

bindActionCreators(assign({}, SomeActions, OtherActions), dispatch)

Ah luar biasa, itu bahkan lebih mudah. Terima kasih!

🙌.

Ini sangat membantu! Terima kasih!

Sangat membantu! :bintang2:

@gaearon haruskah ini ditambahkan ke bagian tips di bindActionCreators API doc?

Permintaan tarik diterima :wink:
Saya tidak aktif mengerjakan dokumen sekarang jadi jawaban saya sama: "jika Anda ingin sesuatu ada di dokumen, silakan kirim PR".

Tidak yakin apakah ini akan membantu siapa pun, tetapi saya mencoba menggabungkan tindakan aplikasi dan Tindakan dari react-native-router-flux , dan di bawah ini berhasil untuk saya.

import * as AppActions from './actions';
import { Actions } from 'react-native-router-flux';

function mapDispatchToProps(dispatch) {
  return { actions: {...bindActionCreators(AppActions , dispatch), ...Actions } };
}

Tidak yakin apakah ini akan membantu siapa pun, tetapi saya mencoba menggabungkan tindakan aplikasi saya dan Tindakan dari react-native-router-flux, dan di bawah ini berfungsi untuk saya.

Ini sedikit membingungkan karena Actions dari react-native-router-flux tampaknya tidak memiliki kesamaan dengan Redux, dan mungkin seharusnya tidak berada di mapDispatchToProps sama sekali. Cukup gunakan langsung di komponen Anda.

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

timdorr picture timdorr  ·  3Komentar

mickeyreiss-visor picture mickeyreiss-visor  ·  3Komentar

CellOcean picture CellOcean  ·  3Komentar

olalonde picture olalonde  ·  3Komentar

ramakay picture ramakay  ·  3Komentar