【问题标题】:React Native Errors - VirtualizedLists should never be nested inside plain ScrollViewsReact Native 错误 - VirtualizedLists 永远不应该嵌套在普通的 ScrollViews 中
【发布时间】:2022-12-07 06:36:05
【问题描述】:

我正在开发一个 react-native 应用程序,我必须将 GooglePlacesAutocomplete 放在 Scrollview 中。这是以下代码。

<ScrollView style={{flex: 1}>
    <GooglePlacesAutocomplete
      minLength={2}
      nearbyPlacesAPI={'GooglePlacesSearch'}
      debounce={400}
      placeholder="Origin Address"
      query={{
        key: GOOGLE_MAPS_API_KEY,
        language: 'en',
      }}
      onFail={error => console.log(error)}
      enablePoweredByContainer={false}
      onPress={(data, details = null) => {
        console.log(details.geometry.location);
      }}
      fetchDetails={true}
      returnkeyType={'search'}
    />
  </ScrollView>

Errors:VirtualizedLists 永远不应该嵌套在相同方向的普通 ScrollViews 中,因为它会破坏窗口和其他功能 - 请改用另一个支持 VirtualizedList 的容器。

【问题讨论】:

    标签: react-native react-native-maps react-google-places-autocomplete


    【解决方案1】:

    当您在 ScrollView 中添加垂直 flatList 时出现此错误,因此请尝试以下方法之一:

    1. 将平面列表更改为水平
    2. 禁用平面列表滚动,(来自docsdisableScroll={false})。
    3. 在 ScrollView 之外使用平面列表,就像在模态中一样。

      根据 react-native-google-places-autocomplete docs 有部分说:

      在 a 或内部使用 如果您需要将此组件包含在 ScrolView 或 FlatList 中,请记住将 keyboardShouldPersistTaps 属性应用于所有祖先 ScrollView 或 FlatList(请参阅this 问题评论)。

    【讨论】:

    • 我在我的ScrollView中添加了keyboardShouldPersistTaps={'handled'},但仍然有这个错误
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 2021-01-17
    • 2021-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-29
    相关资源
    最近更新 更多