为其赋值,而不仅仅是缺省的(初始)值

我有一个正在工作的<TextInput>

<TextInput
      placeholder="Location"
      value={props.locationInput.toString()}
      onChangeText={location => props.updateLocationInput(location)}
    />
props.locationInput最初是'',但一旦应用程序启动,就会触发几个异步函数,并获取用户的当前位置,这些位置填充到pros.LocationInput(在redux商店中)。这意味着当用户到达时,上面的<TextInput>会显示用户的当前位置。我想基本上只做与上面完全一样的操作,但使用react-native-google-places-autocomplete

react-native-google-places-autocomplete使用pros.LocationInput值进行初始化。它有一个getDefaultValue属性,例如getDefaultValue={() => props.locationInput.toString()},但是它不会在pros.LocationInput更改时更改,所以它永远不会显示用户的当前位置,因为它在初始化时没有设置。如何在props.locationInput发生更改时更新react-native-google-places-autocomplete

可能认为我可能需要在用户当前位置进入之前不呈现它,但这真的很混乱。

编辑:还在研究不使用插件,而是调用Google Places API。


解决方案

游戏较晚,但有名为setAddressText的函数。

示例:

setLocation(text) {
  this.placesRef && this.placesRef.setAddressText(text)
}
...
<GooglePlacesAutocomplete
ref={ref => {this.placesRef = ref}}
...
/>

相关文章