مرحبًا jaredpalmer ، بدأ العمل في مشروع باستخدام مشروع البداية الخاص بك. عمل عظيم!
لدي سؤال حول إرسال إجراءات إعادة الإرسال على تفاعلات المستخدم (مثل النقر فوق الزر). أسئلتي تتعلق أكثر بالصياغة الصحيحة. في الماضي اتصلت بالمُنشئ وسميت دالة الربط على هذا النحو:
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>
)
}
أعتقد أن لديك برنامج babel-plugin مثبتًا والذي يسمح لك بتجنب كتابة "extends React.Component" طوال الوقت. لا يمكنني رؤية "bindActionCreators" أيضًا.
سؤال ، كيف أكتب أعلاه بالطريقة التي يمكن استخدامها في مشروع البداية الخاص بك؟
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>
)
}
يبدو أنك لا تستخدم connect
من react-redux
:
استيراد {connect} من "رد فعل إعادة"
... المكون الخاص بك ...
تصدير الاتصال الافتراضي (mapStateToProps ، actionCreators) (التقويم)
إغلاق هذا لأنه لا يتعلق بالنموذج المعياري. ومع ذلك ، أقترح مشاهدة دورات Dan Abramov على Redux:
تحقق أيضًا من react-redux
API لـ connect
: https://github.com/reactjs/react-redux/blob/master/docs/api.md#connectmapstatetoprops -mapdispatchtoprops-mergeprops-options
التعليق الأكثر فائدة
يبدو أنك لا تستخدم
connect
منreact-redux
:استيراد {connect} من "رد فعل إعادة"
... المكون الخاص بك ...
تصدير الاتصال الافتراضي (mapStateToProps ، actionCreators) (التقويم)