Рубрики
Без рубрики

✨ Представляя использование-мест-автозаполнение: React Club для Google Maps Места автозаполнения

YOOO парней! С использованием-мест – автозаполнение вы можете построить свои собственные места AutoComplete UI, как … Помечено с реакцией, крюк, OpenSource, JavaScript.

YOOO парней! с Использовать-места-автозаполнение Вы можете построить свои собственные места AutoComplete UI, как следующая демонстрация за 10 минут, Не шучу

⚡️. Попробуйте себя: https://use-places-autocomplete.netlify.app.

Функции

Как это работает?

Во-первых, используйте Сценарий Теги для загрузки библиотеки в вашем проекте.


Начните создавать наш компонент. Проверьте API чтобы узнать больше.

import usePlacesAutocomplete, {
  getGeocode,
  getLatLng,
} from "use-places-autocomplete";
import useOnclickOutside from "react-cool-onclickoutside";

const PlacesAutocomplete = () => {
  const {
    ready,
    value,
    suggestions: { status, data },
    setValue,
    clearSuggestions,
  } = usePlacesAutocomplete({
    requestOptions: {
      /* Define search scope here */
    },
    debounce: 300,
  });
  const ref = useOnclickOutside(() => {
    // When user clicks outside of the component, we can dismiss
    // the searched suggestions by calling this method
    clearSuggestions();
  });

  const handleInput = (e) => {
    // Update the keyword of the input element
    setValue(e.target.value);
  };

  const handleSelect = ({ description }) => () => {
    // When user selects a place, we can replace the keyword without request data from API
    // by setting the second parameter as "false"
    setValue(description, false);
    clearSuggestions();

    // Get latitude and longitude via utility functions
    getGeocode({ address: description })
      .then((results) => getLatLng(results[0]))
      .then(({ lat, lng }) => {
        console.log("📍 Coordinates: ", { lat, lng });
      })
      .catch((error) => {
        console.log("😱 Error: ", error);
      });
  };

  const renderSuggestions = () =>
    data.map((suggestion) => {
      const {
        id,
        structured_formatting: { main_text, secondary_text },
      } = suggestion;

      return (
        
  • {main_text} {secondary_text}
  • ); }); return (
    {/* We can use the "status" to decide whether we should display the dropdown or not */} {status === "OK" &&
      {renderSuggestions()}
    }
    ); };

    Легко справа? Это магия UsePlacesautocomplete ✨. Я просто покажу вам, как он работает через минимальный пример. Однако больше вещей вы можете сделать для UX богатого автозаполнения компонента, как Соответствует вай-арии и ключевое слово поддержка как моя демонстрация (Проверьте код Код ), Ключевое слово Clear Button, История поиска и т. Д.

    💡 React-cool-onclickoutside Является ли моя другая библиотека крюка, которая может помочь вам справиться с взаимодействием пользователя, щелчников за пределами компонента (ы).

    Спасибо за чтение, для получения дополнительных деталей использования Оформить заказ Страница GitHub проекта: https://github.com/wellyshen/use-places-autocomplete

    Вы также можете установить этот пакет распределяется через NPM Отказ

    $ yarn add use-places-autocomplete
    # or
    $ npm install --save use-places-autocomplete
    

    При работе с Teadercript вам нужно установить @ Типы/googlemaps как Devdependonds Отказ

    $ yarn add --dev @types/googlemaps
    # or
    $ npm install --save-dev @types/googlemaps
    

    Оригинал: “https://dev.to/wellyshen/introducing-use-places-autocomplete-react-hook-for-google-maps-places-autocomplete-41h5”