Giter Site home page Giter Site logo

Type is invalid - expected a string or a class/function (for composite components) but got: undefined. Check the render method of `Input`. about react-geosuggest HOT 7 OPEN

aleksandar-crs avatar aleksandar-crs commented on July 20, 2024
Type is invalid - expected a string or a class/function (for composite components) but got: undefined. Check the render method of `Input`.

from react-geosuggest.

Comments (7)

yfr avatar yfr commented on July 20, 2024

How to you use it? Can you show me some implementation code?

from react-geosuggest.

aleksandar-crs avatar aleksandar-crs commented on July 20, 2024

Here it is. Developer who used to work on the app used googleMaps props in GeoSuggest(don't know why). As I was told, that worked for over a year at least. Maybe it's worth mentioning that application is wrapped in react-on-rails. Also, after updating the component nothing changed

renderSearchBar(googleMaps) {
    const {
      isAuthenticated,
      user,
      intl: { formatMessage },
      locale,
    } = this.props;
    let fixtures = [];
    if (isAuthenticated) {
      const {
        street,
        number,
        zip,
        city,
        coordinates: { lat, lon },
      } = user.address;
      const label = `${street} ${number}, ${zip} ${city}`;
      const location = { lat, lng: lon };
      fixtures = [{ label, location, className: 'favorite' }];
    }
    const invalidNumberCss = this.state.isInvalidNumber ? 'invalid' : '';
    
    const geosuggestLabel = document.getElementsByClassName('geosuggest-label')[0];
    const localizeString = () => {
      if (geosuggestLabel !== undefined){
        if (locale === 'it') {
          geosuggestLabel.innerText =
            'Indirizzi recenti';
        } else {
          geosuggestLabel.innerText =
            'Recent addresses';
        }
      }
    };

    return (
      <div className="address-search">
        <Geosuggest
          googleMaps={googleMaps}
          country="it"
          types={['address']}
          placeholder={formatMessage({
            id: 'client.home.delivery.address_search_placeholder',
          })}
          initialValue=""
          autoFocus={this.state.focusIndex === 0}
          fixtures={fixtures}
          onSuggestSelect={this.onSuggestSelect}
          placeDetailFields={['address_components', 'geometry']}
          skipSuggest={this.skipSuggest}
          onClick={localizeString}
          ref={(el) => (this._geoSuggest = el)}
        />
        ...
        render() {
    const { currentStep, locale } = this.props;

    if (currentStep === 4) {
      return null;
    }

    return (
      <div className="address col-lg-height col-top">
        <ReactGoogleMapLoader
          params={{
            key: GOOGLE_MAPS_API_KEY, // Define your api key here
            libraries: 'places,geometry', // To request multiple libraries, separate them with a comma
            language: locale,
          }}
          render={(googleMaps, error) => {
            if (googleMaps) {
              if (error) {
                // Show a custom error if SDK Authentication Error. See N/B 2 below.
                return <div>{error}</div>;
              }
              return this.renderSearchBar(googleMaps);
            }
            // Check for network error so loading state ends if user lost connection.
            if (error === 'Network Error') {
              return <div>{error}</div>;
            }
            return <div>Google address search is loading...</div>;
          }}
        />
      </div>
    );
  }```

from react-geosuggest.

yfr avatar yfr commented on July 20, 2024

Ok. Can't see anything suspicious. Unless you have changed something in the module itself I can't see where this error comes from.

You can pass your own google maps instance to geosuggest. Like in this case you create the instance with ReactGoogleMapLoader.

from react-geosuggest.

yfr avatar yfr commented on July 20, 2024

How is the geosuggest imported and installed?

from react-geosuggest.

aleksandar-crs avatar aleksandar-crs commented on July 20, 2024

It's installed using yarn and it's imported like this: import Geosuggest from 'react-geosuggest';

from react-geosuggest.

alagos avatar alagos commented on July 20, 2024

Having this same issue. I'm just trying to integrate this library for the first time and I'm getting this error.
Not sure if it has to do that my project uses react 15.6, which is kind of old nowadays.

from react-geosuggest.

alagos avatar alagos commented on July 20, 2024

Ok, I tried with 2.13.0 and the issue disappeared.
To me, the problem might be related with this PR for 2.13.1, but sadly I don't have the time to check deeply, so I'll work with 2.13.0 in the meantime.

from react-geosuggest.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.