Hai @jaredpalmer , mulai mengerjakan proyek menggunakan proyek awal Anda. Kerja bagus!
Saya memiliki pertanyaan tentang pengiriman tindakan redux pada interaksi pengguna (misalnya klik tombol). Pertanyaan saya lebih tentang sintaks yang tepat. Di masa lalu saya memanggil konstruktor dan memanggil fungsi bind seperti itu:
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>
)
}
Saya pikir Anda telah menginstal babel-plugin yang memungkinkan Anda untuk menghindari penulisan "extends React.Component" sepanjang waktu. Saya juga tidak bisa melihat 'bindActionCreators'.
Pertanyaan, bagaimana cara saya menulis di atas agar dapat digunakan dalam proyek awal Anda?
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>
)
}
Sepertinya Anda tidak menggunakan connect
from react-redux
:
impor { connect } dari 'react-redux'
... komponen Anda ...
ekspor koneksi default(mapStateToProps, actionCreators)(Calendar)
Menutup ini karena tidak terkait dengan boilerplate. Namun, saya sarankan menonton kursus Dan Abramov di Redux:
Lihat juga react-redux
API untuk connect
: https://github.com/reactjs/react-redux/blob/master/docs/api.md#connectmapstatetoprops -mapdispatchtoprops-mergeprops-options
Komentar yang paling membantu
Sepertinya Anda tidak menggunakan
connect
fromreact-redux
:impor { connect } dari 'react-redux'
... komponen Anda ...
ekspor koneksi default(mapStateToProps, actionCreators)(Calendar)