ধরা যাক আমার কাছে 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
কেবল স্থানীয় থেকে পরিবর্তনগুলি ট্র্যাক করতেও সহায়ক, তাই সার্ভারের পরিবর্তনের কারণে আমি অপ্রয়োজনীয় নেটওয়ার্ক কলকে আটকাতে পারি।