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()
রেডাক্সের মতো লাইব্রেরি ব্যবহারের জন্য যথাযথ ব্যবহার সত্যই সহায়ক।