অন্যান্য সমস্ত উত্তর ঠিকঠাক কাজ করছে তবে আমি কিছু অতিরিক্ত যুক্ত করব, কারণ এটি করে:
- এটি কিছুটা নিরাপদ। এমনকি যদি আপনার টাইপ-চেকিং ব্যর্থ হয় তবে আপনি এখনও একটি উপযুক্ত উপাদান ফিরে আসেন।
- এটি আরও ঘোষণামূলক। এই উপাদানটি দেখে যে কেউ এটি ফিরে আসতে পারে তা দেখতে পাবে।
- এটি 'এইচ 1', 'এইচ 2' এর পরিবর্তে উদাহরণস্বরূপ আরও নমনীয়, ... আপনার শিরোনামের ধরণের জন্য আপনি কিছু অন্যান্য বিমূর্ত ধারণা 'এসএম', 'এলজি' বা 'প্রাথমিক', 'গৌণ' রাখতে পারেন
শিরোনাম উপাদান:
import React from 'react';
const elements = {
h1: 'h1',
h2: 'h2',
h3: 'h3',
h4: 'h4',
h5: 'h5',
h6: 'h6',
};
function Heading({ type, children, ...props }) {
return React.createElement(
elements[type] || elements.h1,
props,
children
);
}
Heading.defaultProps = {
type: 'h1',
};
export default Heading;
যা আপনি এটির মতো ব্যবহার করতে পারেন
<Heading type="h1">Some Heading</Heading>
বা আপনার একটি আলাদা বিমূর্ত ধারণা থাকতে পারে, উদাহরণস্বরূপ আপনি আকার আকারগুলি যেমন সংজ্ঞা দিতে পারেন:
import React from 'react';
const elements = {
xl: 'h1',
lg: 'h2',
rg: 'h3',
sm: 'h4',
xs: 'h5',
xxs: 'h6',
};
function Heading({ size, children }) {
return React.createElement(
elements[size] || elements.rg,
props,
children
);
}
Heading.defaultProps = {
size: 'rg',
};
export default Heading;
যা আপনি এটির মতো ব্যবহার করতে পারেন
<Heading size="sm">Some Heading</Heading>