मैं हुक सुविधाओं (रिएक्ट v16.7.0-अल्फा) का उपयोग करने के लिए टाइपस्क्रिप्ट प्रोजेक्ट के साथ एक प्रतिक्रिया को माइग्रेट कर रहा हूं, लेकिन मैं यह पता नहीं लगा सकता कि विध्वंसक तत्वों के टाइपिंग को कैसे सेट किया जाए।
यहाँ एक उदाहरण है:
interface IUser {
name: string;
}
...
const [user, setUser] = useState({name: 'Jon'});
मैं user
वेरिएबल को टाइप का होना चाहता हूं IUser
। मेरा एकमात्र सफल परीक्षण, इसे दो चरणों में कर रहा है: टाइप करना, फिर आरंभ करना:
let user: IUser;
let setUser: any;
[user, setUser] = useState({name: 'Jon'});
लेकिन मुझे यकीन है कि एक बेहतर तरीका है। इसके अलावा, setUser
एक फ़ंक्शन के रूप में आरंभ किया जाना चाहिए जो IUser
इनपुट के रूप में लेता है , और कुछ भी नहीं देता है।
इसके अलावा, यह ध्यान देने योग्य है कि const [user, setUser] = useState({name: 'Jon'});
बिना किसी आरंभीकरण के उपयोग से काम ठीक हो जाता है, लेकिन मैं टाइपस्क्रिप्ट को इनिट पर टाइप चेकिंग के लिए मजबूर करना चाहता हूं, खासकर अगर यह कुछ प्रॉपर पर निर्भर करता है।
आपकी सहायता के लिए धन्यवाद।