reactjs - პრობლემა სტრინგ ვარის გამოყენებით React-bootstrap-ის OverlayTrigger-ში placement ატრიბუტზე
მაქვს გაუთვალისწინებელი შეცდომა React-Bootstrap ვერსია 5.1.1-ის OverlayTrigger კომპონენტთან. ვეცადე შემექმნა ჩემი ინდივიდუალური ღილაკის კომპონენტი, რომელიც იყენებს overlaytrigger-ს და ღილაკს. ყველაფერი მუშაობს ისე, როგორც მინდა, გარდა tooltip-ის განთავსებისთვის ცვლადის გამოყენებისა. შეიძლება ეს უბრალოდ იმიტომ იყოს, რომ მე ვარ TypeScript-ის ახალბედა, მაგრამ არ ვიცი რა გავაკეთო, როცა ვხედავ ასეთი შეცდომების შეტყობინებებს. რაიმე ადამიანს აღენიშნა მსგავსი პრობლემა ადრე, იცის რაიმე გამოსავალი ან შესაძლოა იცის, როგორ უნდა გაკონტროლდეს ასეთი შეცდომების შეტყობინებები ზოგადად?
პასუხი #1
თქვენ შეგიძლიათ შეამოწმოთ OverlayTrigger-ის გასაყიდი ცვლადი, რომელიც გამოცხადებულია როგორც Placement, ნებისმიერ ტიპზე დამატებითი ინფორმაციისთვის (მაგალითად, დააჭირეთ F12 ველზე).
თქვენი მაგალითისთვის თქვენ შეძლებთ განსაზღვროთ განთავსება სტრიქონის მნიშვნელობით "bottom", რადგან ეს მნიშვნელობა მიიღება BasePlacement-დან "right" | "top" | "bottom" | "left" და ეს მნიშვნელობა შეუძლებელია ამ ტიპზე გადაჭრას.
თუმცა, როდესაც ცდილობთ განსაზღვროთ თქვენი ცვლადი {tooltipPlacement}, ის გამოისახებოდა სტრინგის ტიპად, რადგან სწორედ ასე არის მისი დეკლარაცია, თქვენი კომპილატორი შეუძლია დაუბრუნოს ეს ინფორმაცია.
ტიპი 'string' დაუნიშნელი ტიპისთვის 'Placement | undefined' არ არის განსაზღვრული.ts(2322)
მხარდაჭერა
ერთ-ერთი გზა ამის გადასაჭრელად არის კომპილერს უთხრა, რა ტიპად გინდა გადააქციო ეს ცვლადი, შენ იცი, რომ "bottom" არის ვალიდური მნიშვნელობა, რომელიც შეიძლება განისაზღვროს Placement ტიპად.
placement={tooltipPlacement as Placement}

