Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
React native React Native Flatlist“;getItemLayout";使它成为马车_React Native_React Native Flatlist - Fatal编程技术网

React native React Native Flatlist“;getItemLayout";使它成为马车

React native React Native Flatlist“;getItemLayout";使它成为马车,react-native,react-native-flatlist,React Native,React Native Flatlist,我正在使用scrollToOffset并存储当前偏移量,这样我就可以将平面列表返回到原来的状态。但是要使用scrollToOffset我必须使用getItemLayout,但是使用它会使我的flatlist出现问题。有50个项目,它的工作很好,但有3000个项目,我不能滚动后,第一个200-300项目 Flatlist呈现文本项目,因此我尝试根据项目的内容获取不同的高度: <FlatList scrollEventThrottle={1} onScroll=

我正在使用
scrollToOffset
并存储当前偏移量,这样我就可以将平面列表返回到原来的状态。但是要使用
scrollToOffset
我必须使用
getItemLayout
,但是使用它会使我的flatlist出现问题。有50个项目,它的工作很好,但有3000个项目,我不能滚动后,第一个200-300项目

Flatlist呈现文本项目,因此我尝试根据项目的内容获取不同的高度:

<FlatList
        scrollEventThrottle={1}
        onScroll={this.handleScroll}
        ref={ref => (this.flatList = ref)}
        data={this.state.listData}
        keyExtractor={(item, index) => item.id}
        renderItem={this._renderListItem}
        removeClippedSubviews
        maxToRenderPerBatch={3}
        getItemLayout={(data, index) => ({
              length: (data[index].title.length + data[index].body.length) ** 0.4 * 25,
              offset: (data[index].title.length + data[index].body.length) ** 0.4 * 25 * index,
              index,
    })}
/>
_renderListItem = ({item, index}) => {
    return (
      <View
        style={{
          height: (item.title.length + item.body.length) ** 0.4 * 25,
        }}
   >
    ....
    </View>