এর একটি সম্ভাব্য ব্যবহার bindActionCreators()
হ'ল একক প্রস্তাব হিসাবে একসাথে একাধিক ক্রিয়া "মানচিত্র" করা "
একটি সাধারণ প্রেরণ এটির মতো দেখাচ্ছে:
প্রপসগুলিতে কয়েকটি সাধারণ ব্যবহারকারীর ক্রিয়া মানচিত্র করুন।
const mapStateToProps = (state: IAppState) => {
return {
}
}
const mapDispatchToProps = (dispatch: Dispatch) => {
return {
userLogin: () => {
dispatch(login());
},
userEditEmail: () => {
dispatch(editEmail());
},
};
};
export default connect(mapStateToProps, mapDispatchToProps)(MyComponent);
বৃহত প্রকল্পগুলিতে প্রতিটি প্রেরণকে পৃথকভাবে ম্যাপিংয়ের ফলে স্বল্পতা বোধ করা যায়। আমরা যদি একে অপরের সাথে সম্পর্কিত ক্রুশগুলির একটি গুচ্ছ থাকে তবে আমরা এই ক্রিয়াগুলি একত্রিত করতে পারি । উদাহরণস্বরূপ একটি ব্যবহারকারীর অ্যাকশন ফাইল যা বিভিন্ন ধরণের ব্যবহারকারী সম্পর্কিত ক্রিয়া করে। প্রতিটি ক্রিয়াকে আলাদা প্রেরণ হিসাবে কল করার bindActionCreators()
পরিবর্তে আমরা এর পরিবর্তে ব্যবহার করতে পারি dispatch
।
বাইন্ড অ্যাকশনক্রিটর () ব্যবহার করে একাধিক প্রেরণ
আপনার সমস্ত সম্পর্কিত ক্রিয়া আমদানি করুন। এগুলি সম্ভবত রিডুক্স স্টোরের একই ফাইলে রয়েছে
import * as allUserActions from "./store/actions/user";
এবং এখন প্রেরণ ব্যবহারের পরিবর্তে বাইন্ড অ্যাকশনক্রিটারগুলি ব্যবহার করুন ()
const mapDispatchToProps = (dispatch: Dispatch) => {
return {
...bindActionCreators(allUserActions, dispatch);
},
};
};
export default connect(mapStateToProps, mapDispatchToProps,
(stateProps, dispatchProps, ownProps) => {
return {
...stateProps,
userAction: dispatchProps
ownProps,
}
})(MyComponent);
এখন আমি userAction
আপনার উপাদানগুলির সমস্ত ক্রিয়াকলাপ কল করতে প্রপ ব্যবহার করতে পারি ।
আইই:
userAction.login()
userAction.editEmail()
বা
this.props.userAction.login()
this.props.userAction.editEmail()
।
দ্রষ্টব্য: আপনাকে একটি বিন্যাসে bindActionCreators () মানচিত্র করতে হবে না। (অতিরিক্ত => {return {}}
যে মানচিত্রগুলি userAction
)। আপনি bindActionCreators()
একক ফাইলের সমস্ত ক্রিয়া পৃথক প্রস হিসাবে মানচিত্র করতেও ব্যবহার করতে পারেন । তবে আমি মনে করি এটি করা বিভ্রান্তিকর হতে পারে। আমি প্রতিটি ক্রিয়া বা "অ্যাকশন গ্রুপ" এর একটি সুস্পষ্ট নাম দেওয়া পছন্দ করি। ownProps
এই "চাইল্ড প্রপস" কী বা তারা কোথা থেকে আসছে সে সম্পর্কে আমি আরও বর্ণনামূলক হতে চাই । Redux + প্রতিক্রিয়া ব্যবহার করার সময় এটি কিছুটা বিভ্রান্ত হতে পারে যেখানে সমস্ত প্রপস সরবরাহ করা হয় তাই আরও বর্ণনামূলক আরও ভাল।
#3
জন্য বিকল্পটি#1
কীভাবে সংক্ষিপ্ত হবে?