Π£ Π½Π°Ρ Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΌΠ΅ΡΡ Π² Π½Π°ΡΠ΅ΠΌ ΠΊΠΎΠ΄Π΅, Π³Π΄Π΅ ΠΌΡ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΡΠ²ΡΠ·Π°Π½Π½ΡΡ
Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ. ΠΡΠ»ΠΎ Π±Ρ Π·Π΄ΠΎΡΠΎΠ²ΠΎ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΡΠΏΠΈΡΠΎΠΊ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π² bindActionCreators
.
bindActionCreators([SomeActions, OtherActions], dispatch)
ΠΡΠ΅Π΄ΠΎΡΡΠ΅ΡΠ΅ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΠ½Π΅ΡΠ½ΠΎ, Π±ΡΠ΄Π΅Ρ Π·Π°ΠΊΠ»ΡΡΠ°ΡΡΡΡ Π² ΡΠΎΠΌ, ΡΡΠΎ ΠΏΠΎΠ²ΡΠΎΡΡΡΡΠΈΠ΅ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π±ΡΠ΄ΡΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°Π½Π½ΡΠΌ.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ES7:
bindActionCreators({ ...SomeActions, ...OtherActions }, dispatch)
ΠΈΠ»ΠΈ (Π²Π°Π½ΠΈΠ»ΡΠ½ΡΠΉ ES6, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠ» Object.assign
ΠΈΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Babel)
bindActionCreators(Object.assign({}, SomeActions, OtherActions), dispatch)
ΠΈΠ»ΠΈ (ES5, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ lodash
)
var assign = require('lodash/object/assign');
bindActionCreators(assign({}, SomeActions, OtherActions), dispatch)
Π, ΠΎΡΠ»ΠΈΡΠ½ΠΎ, ΡΠ°ΠΊ Π΄Π°ΠΆΠ΅ ΠΏΡΠΎΡΠ΅. Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
π
ΠΡΠΎ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ! Π‘ΠΏΠ°ΡΠΈΠ±ΠΎ!
Π‘ΡΠΏΠ΅Ρ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ! :star2:
@gaearon ΡΠ»Π΅Π΄ΡΠ΅Ρ Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡΡ ΡΡΠΎ Π² ΡΠ°Π·Π΄Π΅Π» ΡΠΎΠ²Π΅ΡΠΎΠ² Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ΅ API bindActionCreators
?
ΠΡΠ»Π»-ΡΠ΅ΠΊΠ²Π΅ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΡΠ΅ΡΡΡ :wink:
Π― ΡΠ΅ΠΉΡΠ°Ρ Π½Π΅ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΡΠ°Π±ΠΎΡΠ°Ρ Π½Π°Π΄ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΌΠΎΠΉ ΠΎΡΠ²Π΅Ρ ΡΠΎΡ ΠΆΠ΅: Β«ΠΡΠ»ΠΈ Π²Ρ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ ΡΡΠΎ-ΡΠΎ Π±ΡΠ»ΠΎ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°Ρ
, ΠΏΡΠΈΡΠ»ΠΈΡΠ΅ PRΒ».
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ, Π½ΠΎ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΌΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ· react-native-router-flux
, ΠΈ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
import * as AppActions from './actions';
import { Actions } from 'react-native-router-flux';
function mapDispatchToProps(dispatch) {
return { actions: {...bindActionCreators(AppActions , dispatch), ...Actions } };
}
ΠΠ΅ ΡΠ²Π΅ΡΠ΅Π½, ΡΡΠΎ ΡΡΠΎ ΠΊΠΎΠΌΡ-Π½ΠΈΠ±ΡΠ΄Ρ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ, Π½ΠΎ Ρ ΠΏΡΡΠ°Π»ΡΡ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ· react-native-router-flux, ΠΈ Π½ΠΈΠΆΠ΅ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ Π΄Π»Ρ ΠΌΠ΅Π½Ρ.
ΠΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ±ΠΈΠ²Π°Π΅Ρ Ρ ΡΠΎΠ»ΠΊΡ, ΠΏΠΎΡΠΎΠΌΡ ΡΡΠΎ Actions
ΠΈΠ· react-native-router-flux
, ΠΊΠ°ΠΆΠ΅ΡΡΡ, Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΠ±ΡΠ΅Π³ΠΎ Ρ Redux ΠΈ, Π²Π΅ΡΠΎΡΡΠ½ΠΎ, Π²ΠΎΠΎΠ±ΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π² mapDispatchToProps
. ΠΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΈΡ
Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ Π² ΡΠ²ΠΎΠΈΡ
ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ
.
Π‘Π°ΠΌΡΠΉ ΠΏΠΎΠ»Π΅Π·Π½ΡΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΄Π΅Π»Π°ΡΡ ΡΡΠΎ Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ES7:
ΠΈΠ»ΠΈ (Π²Π°Π½ΠΈΠ»ΡΠ½ΡΠΉ ES6, ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΏΠΎΠ»ΠΈΡΠΈΠ»
Object.assign
ΠΈΠ»ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½ Babel)ΠΈΠ»ΠΈ (ES5, ΠΏΡΠ΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ
lodash
)