मैं नवीनतम typings की जाँच की और वे एक राज्यविहीन घटक इंटरफ़ेस में नई परिभाषाओं को जोड़ने के लिए भूल गया था। मैंने इस मुद्दे को उठाया है और इसे जल्द ही तय किया जाना चाहिए।
कक्षा घटकों से एक सरणी लौटने पर काम करता है, इसलिए यदि आपको वास्तव में इसकी आवश्यकता है तो आप अपने कार्यात्मक घटक को वर्ग घटक में बदल सकते हैं।
class Elements extends React.Component<{}> {
render() {
return [
<div key="a"></div>,
<div key="b"></div>
]
}
}
या अस्थायी रूप से मॉड्यूल संवर्धन का उपयोग कर प्रतिक्रिया टाइपिंग का विस्तार करें। बस अपनी कोड में से किसी एक में निम्नलिखित कोड डालें और टाइपस्क्रिप्ट स्वचालित रूप से परिभाषाओं में परिवर्तनों का पता लगाएगा।
declare module "react" {
interface StatelessComponent<P = {}> {
(props: P & { children?: ReactNode }, context?: any): ReactElement<any>[] | ReactElement<any> | null;
propTypes?: ValidationMap<P>;
contextTypes?: ValidationMap<any>;
defaultProps?: Partial<P>;
displayName?: string;
}
}
यह अभी भी एक नया संस्करण है और टाइपिंग काफी तैयार नहीं हैं। यहां आपके पास एक लिंक है जहां आप प्रगति का अनुसरण कर सकते हैं: https://github.com/DefinitelyTyped/DefinitelyTyped/pull/19363 (उन्होंने इसे कुछ दिन पहले विलय कर दिया लेकिन लोगों को अभी भी समस्याएं हैं) – niba
लिंक के लिए धन्यवाद! –