Bonjour @jaredpalmer , j'ai commencé à travailler sur un projet en utilisant votre projet de démarrage. Bon travail!
J'ai une question sur l'envoi d'actions redux sur les interactions de l'utilisateur (par exemple, clic sur un bouton). Mes questions portent plus sur la bonne syntaxe. Dans le passé, j'appelais le constructeur et appelais la fonction bind comme ça :
function mapDispatchToProps(dispatch) {
return bindActionCreators({
importedAction,
}, dispatch);
}
class Calendar extends React.Component {
constructor(props) {
super(props);
this.handleClick = this.handleClick.bind(this);
}
handleClick(programId) {
this.props.importedAction()
.then((response) => {
do something with response
});
}
}
....
render() {
return (
<a onClick={this.handleClick}>Click me to dispatch action</a>
)
}
Je pense que vous avez installé un plugin babel qui vous permet d'éviter d'écrire le "extends React.Component" tout le temps. Je ne vois pas non plus 'bindActionCreators'.
Question, comment écrirais-je ci-dessus de la manière dont il pourrait être utilisé dans votre projet de démarrage ?
function mapDispatchToProps(dispatch) {
return bindActionCreators({
importedAction,
}, dispatch);
}
class Calendar extends React.Component {
handleClick(programId) {
this.props.importedAction()
.then((response) => {
do something with response
});
}
}
....
render() {
return (
<a onClick={(evt) => this.handleClick()}>Click me to dispatch action</a>
)
}
On dirait que vous n'utilisez pas connect
partir de react-redux
:
importer { connecter } depuis 'react-redux'
... votre composant...
export default connect(mapStateToProps, actionCreators)(Calendrier)
Fermer ceci parce que ce n'est pas lié au passe-partout. Cependant, je vous propose de regarder les cours de Dan Abramov sur Redux :
Consultez également l'API react-redux
pour connect
: https://github.com/reactjs/react-redux/blob/master/docs/api.md#connectmapstatetoprops -mapdispatchtoprops-mergeprops-options
Commentaire le plus utile
On dirait que vous n'utilisez pas
connect
partir dereact-redux
:importer { connecter } depuis 'react-redux'
... votre composant...
export default connect(mapStateToProps, actionCreators)(Calendrier)