Инициализировать React неконтролируемого компонента - PullRequest
0 голосов
/ 25 марта 2020

Я использую пакет автозаполнения Google Places - react-google-places-autocomplete. Чтобы получить данные о месте. Данные вводятся в контролируемой форме Formik. Для некоторых полей, включая адрес, я использую функциональность useField.

Мой код выглядит так:

      <GooglePlacesAutocomplete
        onSelect={venue => {
          const name = venue['terms'][0]['value']
          geocodeByPlaceId(venue['place_id'])
            .then(results => {
              const loc = results[0]['geometry'].location
              ...
              location.current.value = name
            })
            .catch(error => console.error(error))
        }}
        renderInput={props => (
          <div className="inner-section-group">
            <input
              id="venue"
              {...props}
              placeholder="Venue Name"
              ref={location}
              onLoadStart={() => venueHelpers.setValue(values['venue_name'])}
              onLoad={() => location.current.value = venue}
            />
            <label htmlFor="venue">Venue Name</label>
          </div>
        )}
      />

У меня одна проблема. Инициализация my input для указанного значения c [например, какой возврат API для значения поля] не работает. Выполнение этого изнутри onLoad не имеет никакого эффекта, и настройка defaultValue конфликтует с использованием ref для управления вводом.

Есть предложения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...