अन्य सभी उत्तर ठीक काम कर रहे हैं, लेकिन मैं कुछ अतिरिक्त जोड़ूंगा, क्योंकि ऐसा करने से:
- यह थोड़ा सुरक्षित है। यहां तक कि अगर आपकी टाइप-चेकिंग विफल हो रही है, तब भी आप एक उचित घटक वापस करते हैं।
- यह अधिक घोषणात्मक है। इस घटक को देखकर कोई भी यह देख सकता है कि यह क्या वापसी कर सकता है।
- 'H1', 'h2' के बजाय इसका उदाहरण अधिक लचीला है, ... आपके हेडिंग के प्रकार के लिए आपके पास कुछ अन्य अमूर्त अवधारणाएं 'sm', 'lg' या 'प्राथमिक', 'secondary' हो सकती हैं
शीर्षक घटक:
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>