Closed YasKur closed 1 year ago
@YasKur библиотека уже имеет зависимость на @types/yandex-maps
, чтобы протипизировать ref
в вашем случае, можно сделать так:
import { useState } from "react";
import { YMaps, Map, SearchControl } from "@pbe/react-yandex-maps";
import ymaps from "yandex-maps";
export default function App() {
const [, setSearchControl] = useState<
ymaps.control.SearchControl | undefined
>();
const defaultState = {
center: [55.751574, 37.573856],
zoom: 5
};
return (
<YMaps>
<Map defaultState={defaultState}>
<SearchControl
instanceRef={(ref: ymaps.control.SearchControl) => {
setSearchControl(ref);
}}
/>
</Map>
</YMaps>
);
}
https://codesandbox.io/s/intelligent-sound-0s4lpv?file=/src/App.tsx
Хорошо бы это конечно инкапсулировать внутрь библиотеки))
Откуда нужно добавлять типы для корректной работы ts.
Пример:
Если посмотреть в типы:
Такая же проблема будет если будем делать что-то делать с элементами управления:
Можно как-то подружить с - https://www.npmjs.com/package/@types/yandex-maps? Или есть какие-то другие решения?