gribnoysup / react-yandex-maps

Yandex Maps API bindings for React
MIT License
327 stars 116 forks source link

Как убрать карту и оставить лишь Suggest #281

Closed dcristafovici closed 3 years ago

dcristafovici commented 3 years ago

Использую яндекс арту лишь для SuggestView и другие модули, такие как geocode, coordSystem. Как убрать карту , визуально, она вовсе не требуется Код

       <YMaps
          enterprise
          query={{
            apikey: "myApi",
          }}
          >
          <Map
            onLoad={ymaps => loadSuggest(ymaps)}
            defaultState={{ center: [55.751574, 37.573856],  zoom: 9 }}
            modules={["SuggestView", "geocode", "coordSystem.geo"]}
          />
          <input type="text" id='suggest' onChange={ymaps => console.log(ymaps)}  />
        </YMaps>
mmarkelov commented 3 years ago

@denibudeyko можно использовать withYMaps:

import React from "react";
import { YMaps, withYMaps } from "react-yandex-maps";
import "./styles.css";

function MapSuggestComponent(props) {
  const { ymaps } = props;

  React.useEffect(() => {
    const suggestView = new ymaps.SuggestView("suggest");
  }, [ymaps.SuggestView]);

  return <input type="text" id="suggest" />;
}

export default function App() {
  const SuggestComponent = React.useMemo(() => {
    return withYMaps(MapSuggestComponent, true, [
      "SuggestView",
      "geocode",
      "coordSystem.geo"
    ]);
  }, []);

  return (
    <div className="App">
      <YMaps
        enterprise
        query={{ apikey: "api-key" }}
      >
        <SuggestComponent />
      </YMaps>
    </div>
  );
}