मैं टाइपस्क्रिप्ट में नया हूं, मुझे निम्नलिखित पूर्वनिर्धारित प्रकार मिले हैं:

type SC = StyledComponent<any, any>;

मेरी लिपि में मेरे पास इस प्रकार का उपयोग करने वाले कई चर हैं:

    ColorBarItemHoverArray!: Array<SC>;
    AdjustColorContainer!: SC;
    HandleHover!: SC;
    DivContainer!: SC;
    ATag!: SC;
    SpanTag1!: SC;
    SpanTag2!: SC;
    SpanTag3!: SC;
    SpanTag4!: SC;
    StyledLabelSide!: SC;
    StyledRangeSide!: SC;
    StyledInputSide!: SC;
    StyledLabelRatio!: SC;
    StyledRangeRatio!: SC;
    StyledInputRatio!: SC;
    StyledLabelAngle!: SC;
    StyledRangeAngle!: SC;
    StyledInputAngle!: SC;
    StyledLabelSpeed!: SC;
    StyledRangeSpeed!: SC;
    StyledInputSpeed!: SC;
    StyledButtonInverse!: SC;
    StyledButtonAbstract!: SC;
    StyledButtonArrow!: SC;
    ArrowLeft!: SC;
    ArrowRight!: SC;

क्या इन्हें लिखने का कोई बेहतर तरीका है?

आपकी मदद के लिए सराहना करें।

0
Weilory 14 सितंबर 2020, 16:45

1 उत्तर

सबसे बढ़िया उत्तर

यदि आप एक ही प्रकार के सभी चरों को परिभाषित कर रहे हैं, तो यह आमतौर पर एक संकेत है कि आपको या तो उन्हें बेहतर प्रकार, या रिफैक्टर देने और चीजों को तोड़ने की आवश्यकता है।

<any, any> का उपयोग करके, आप टाइपस्क्रिप्ट के अधिकांश लाभ खो रहे हैं। क्यों न प्रत्येक चर को सही तरीके से परिभाषित किया जाए, तो वे सभी समान अस्पष्ट any प्रकार के नहीं होंगे?

इसके अलावा, आप एक नया प्रकार बनाकर अपनी थोड़ी मदद कर सकते हैं - अपनी सूची को पुनर्व्यवस्थित करके, मैं देख सकता हूं कि इसे इस तरह समूहीकृत किया जा सकता है:

    StyledLabelSide!: SC;
    StyledLabelRatio!: SC;
    StyledLabelAngle!: SC;
    StyledLabelSpeed!: SC;

    StyledInputSide!: SC;
    StyledInputRatio!: SC;
    StyledInputAngle!: SC;
    StyledInputSpeed!: SC;

    StyledRangeSide!: SC;
    StyledRangeRatio!: SC;
    StyledRangeAngle!: SC;
    StyledRangeSpeed!: SC;

आप फ़ील्ड के साथ किसी ऑब्जेक्ट के लिए एक प्रकार परिभाषित कर सकते हैं side, ratio, angle और speed, और फिर आप केवल तीन चर परिभाषित कर सकते हैं (StyledLabel, StyledInput और StyledRange) बारह के बजाय।

1
Luke Storry 14 सितंबर 2020, 17:13