Redux সিঙ্ক্রোনাস বা অ্যাসিঙ্ক্রোনাসে store.dispatch হয়


106

আমি বুঝতে পারি এটি একটি প্রাথমিক প্রশ্ন তবে অন্য কোথাও এর উত্তর খুঁজে পাওয়ার আমার ভাগ্য নেই।

কি store.dispatchসমলয় বা অ্যাসিঙ্ক্রোনাস মধ্যে Redux?

যদি এটি অ্যাসিনক্রোনাস হয় তবে ক্রিয়াটি প্রচারের পরে কলব্যাক যুক্ত করার সম্ভাবনা রয়েছে যেমন এটি সম্ভব React?


লক্ষ্য করুন যে রাজ্যটি সিঙ্ক্রোনাস আপডেট হয়েছে ( getState()) তবে mapStateToPropsতা নয়। তাই this.props.valueপুরাতন মান যখন getState().valueনতুন এক - codesandbox.io/s/reactredux-forked-0m5eo?file=/Page.js
mosh feu

উত্তর:


91

আফাইক, প্রেরণের ক্রিয়াটি সিনক্রোনাস। আপনি যদি অ্যাসিক্রোনাস কলটি সম্বোধন করতে ইচ্ছুক হন তবে আপনি রিডেক্সে থানক-মিডলওয়্যার ব্যবহার করতে পারেন , যেখানে প্রেরণটি কলব্যাক ফাংশন হিসাবে সরবরাহ করা হয় যা আপনি আপনার সুবিধার্থে অনুরোধ করতে পারেন। আরও তথ্যের জন্য, নিজেই লেখকের দ্বারা এই উত্তরটি চেকআউট করুন: কীভাবে একটি টাইমআউট দিয়ে একটি রেডাক্স ক্রিয়া প্রেরণ করা যায়?


তবে অনেক লোক আমাকে পরামর্শ দেয়: অ্যাসিঙ্ক প্রবাহে প্রেরণকে কল করবেন না যা রিডাক্স রাজ্যটি অনির্দেশ্য হয়ে উঠেছে, আপনার প্রেরণে কল করতে সিঙ্ক করা উচিত । তবে থানক-মিডলওয়্যার কেবল অপেক্ষা করার পরে প্রেরণ কল করে, এটি অ্যাসিঙ্ক প্রবাহ। কোন মতামত সঠিক? আমার খারাপ ইংরেজির জন্য দুঃখিত :)
পরমাণু

আপনি যে চ্যালেঞ্জগুলির মুখোমুখি হচ্ছেন সে সম্পর্কে আমি নিশ্চিত নই, তবে thunkক্রিয়াটি ব্যবহারের সামগ্রিক ধারণাটি কোডের অ্যাসিঙ্ক প্রবাহকে সহজতর করা। যেমন প্রতিশ্রুতি পূরণ হওয়ার পরে ব্যবহারকারী ক্রিয়াটি প্রেরণ করতে পারে।
অগপ্ট

69

কোডের চেয়ে ভাল আর কেউ জানে না । =) আপনি দেখতে পারেন dispatchএকেবারে সিনক্রোনাস। এখানে কেবলমাত্র সতর্কতা হ'ল স্টোর enhancersবিকল্প dispatchপদ্ধতি (এবং করতে) পারে । উদাহরণস্বরূপ, বর্ধককে একবারapplyMiddleware দেখুন , এটি আপনাকে dispatchনিজের প্রয়োগের সাথে ডিফল্ট পদ্ধতিটি প্রতিস্থাপন করে মিডলওয়্যারগুলিকে জ্যাক করতে দেয় । যদিও আমি এমন কোনও রেডাক্স দেখিনি enhancerযা প্রকৃতপক্ষে সিঙ্ক্রোনাস প্রকৃতিটিকে সরিয়ে ফেলবে dispatch


4
আপনার https://github.com/reduxjs/redux/blob/master/src/applyMiddleware.ts#L19 এ মিডলওয়্যার প্রয়োগের লিঙ্কটি আপডেট করা উচিত (জেএস -> টিএস থেকে রিডেক্স মাইগ্রেশনের কারণে, আমি সম্পাদনাটি করতে পারি না যেহেতু এটি <6 টি অক্ষর)। অথবা, সম্ভবত আপনার প্রতিশ্রুতিটি উল্লেখ করা উচিত যখন তারা এখনও আপনার code itselfলিঙ্কে জেএস ব্যবহার করে , যা কমিটের 'পারমলিংক' দিকের কারণে ডেড লিঙ্ক হয়ে থাকে।
ব্যবহারকারী 7413060
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.