Object.assign()এটি একটি সহজ সমাধান, তবে (বর্তমানে) শীর্ষের উত্তরের এটির ব্যবহার - স্টেটলেস উপাদান তৈরির ক্ষেত্রে ঠিক জরিমানা করার পরে, দুটি stateবস্তু একত্রিত করার জন্য ওপি'র পছন্দসই উদ্দেশ্যে সমস্যা তৈরি করবে ।
দুটি যুক্তি সহ, Object.assign()প্রকৃতপক্ষে ভবিষ্যতে তাত্পর্যকে প্রভাবিত করে প্রথম বস্তুকে ঠিক জায়গায় স্থানান্তরিত করবে।
উদা:
একটি বাক্সের জন্য দুটি সম্ভাব্য শৈলী কনফিগার বিবেচনা করুন:
var styles = {
box: {backgroundColor: 'yellow', height: '100px', width: '200px'},
boxA: {backgroundColor: 'blue'},
};
সুতরাং আমরা আমাদের সমস্ত বাক্সের ডিফল্ট 'বাক্স' শৈলী রাখতে চাই, তবে কিছুটিকে আলাদা রঙ দিয়ে ওভাররাইট করতে চাই:
// this will be yellow
<div style={styles.box}></div>
// this will be blue
<div style={Object.assign(styles.box, styles.boxA)}></div>
// this SHOULD be yellow, but it's blue.
<div style={styles.box}></div>
একবার কার্যকর হলে Object.assign(), 'স্টাইলস.বক্স' অবজেক্টটি ভাল হিসাবে পরিবর্তিত হয়।
সমাধানটি হ'ল একটি খালি বস্তুটি পাস করা Object.assign()। এটি করার মাধ্যমে আপনি যে পদক্ষেপটি পাস করেছেন তা দিয়ে একটি নতুন অবজেক্ট তৈরি করার পদ্ধতিটি বলছেন। তাই ভালো:
// this will be yellow
<div style={styles.box}></div>
// this will be blue
<div style={Object.assign({}, styles.box, styles.boxA)}></div>
// a beautiful yellow
<div style={styles.box}></div>
স্থানে পরিবর্তিত বস্তুর এই ধারণাটি প্রতিক্রিয়ার জন্য গুরুত্বপূর্ণ, এবং Object.assign()রেডাক্সের মতো লাইব্রেরি ব্যবহারের জন্য যথাযথ ব্যবহার সত্যই সহায়ক।