Как я могу открыть другую страницу, когда я нажимаю на какое-либо предложение в компоненте автозаполнения react-place

#reactjs #google-maps #googleplacesautocomplete

Вопрос:

Я создал компонент панели поиска в react с помощью библиотеки автозаполнения react-places, когда я набираю текст, он отображает некоторые предложения, такие как названия округов/городов. Я хочу, чтобы он открывал эту простую домашнюю страницу назначения, когда я нажимаю на какие-либо предложения.

react-places-автозаполнение использует API javascript google maps, который я использую для предложения мест

код места назначения дома:

 
export default class DestinationHome extends Component {


    render() {
       
        return (
            <div>
                <h1>new york</h1>
            </div>
        )
    }
}
 

это штрих-код для поиска:

 import PlacesAutocomplete, {
  geocodeByAddress,
  getLatLng,
} from "react-places-autocomplete";

import { FaSearchLocation } from "react-icons/fa";
import "./LocationSearch.css";

export default function LocationSearch() {
  const [address, setAddress] = React.useState("");
  const [coordinates, setCoordinates] = React.useState({
    
    lat: null, 
    lng: null, 
  });

  const handleSelect = async (value) => {
    const results = await geocodeByAddress(value); 
    const latLng = await getLatLng(results[0]); 
    setAddress(value); 
    setCoordinates(latLng); 
    
  };


  const onError = (status, clearSuggestions) => {
    console.log("Google Maps API returned error with status: ", status);
    clearSuggestions();
  };

  return (
    <div className="locationsearch">
      <PlacesAutocomplete
        value={address} 
        onChange={setAddress} 
        onSelect={handleSelect} 
        onError={onError}
      >
        {({ getInputProps, suggestions, getSuggestionItemProps, loading }) => (
          <div className="locationsearch-container">
            <div className="searchbar">
              <input
                className="input-text"
                {...getInputProps({ placeholder: "where to go?" })}
              />
              <button className="search-button">
                <FaSearchLocation />
              </button>
            </div>
            <div>
              {loading ? <div>...loading</div> : null}

              {suggestions.map((suggestion) => {
                const style = {
                  backgroundColor: suggestion.active ? "#41b6e6" : "#fff",  
                  
                };

                return (
                  <div className='suggestions'{...getSuggestionItemProps(suggestion, { style })}>
                    {suggestion.description}
                  </div>
                );
              })}
            </div>
          </div>
        )}
      </PlacesAutocomplete>
    </div>
  );
}
 

Комментарии:

1. Можете ли вы предоставить sscce вашего кода? Вы можете использовать стекблитц .