ধরা যাক আমার কাছে 3 টি ইনপুট রয়েছে: রেট, সেন্ডআমউন্ট এবং রিসিভআমাউন্ট। আমি 3 টি ইনপুটগুলি ব্যবহারের বিভিন্ন পারফরমেন্সগুলিতে রাখি। বিধিগুলি হ'ল:
- যদি সেন্ডআমাউন্ট পরিবর্তিত হয়, আমি গণনা করি
receiveAmount = sendAmount * rate - যদি প্রাপ্তিমাউন্ট পরিবর্তন হয় তবে আমি গণনা করি
sendAmount = receiveAmount / rate - যদি হার পরিবর্তন হয় তবে আমি
receiveAmount = sendAmount * rateকখনsendAmount > 0এবংsendAmount = receiveAmount / rateকখন গণনা করি তা গণনা করিreceiveAmount > 0
সমস্যাটি প্রদর্শনের জন্য কোডসবক্স https://codesandbox.io/s/pkl6vn7x6j এখানে ।
সেখানে তুলনা করার জন্য একটি উপায় আছে কি oldValuesএবং newValuesপছন্দ componentDidUpdateপরিবর্তে এই ক্ষেত্রে 3 হ্যান্ডেলার তৈরীর?
ধন্যবাদ
Https://codesandbox.io/s/30n01w2r06 এর সাথে আমার চূড়ান্ত সমাধান এখানেusePrevious
এই ক্ষেত্রে, আমি একাধিকটি ব্যবহার করতে পারি না useEffectকারণ প্রতিটি পরিবর্তন একই নেটওয়ার্ক কলের দিকে পরিচালিত করে। এজন্য আমিও changeCountপরিবর্তনটি ট্র্যাক করতে ব্যবহার করি। এটি changeCountকেবল স্থানীয় থেকে পরিবর্তনগুলি ট্র্যাক করতেও সহায়ক, তাই সার্ভারের পরিবর্তনের কারণে আমি অপ্রয়োজনীয় নেটওয়ার্ক কলকে আটকাতে পারি।