Управление положением представления initialScrollIndex плоского списка

#react-native

#react-native

Вопрос:

Я хочу начать смещение моего списка, но переместить начальную позицию просмотра. В FlatList в настоящее время отображается текущее изображение следующее изображение в списке, но скорее хотелось бы показать текущее изображение предыдущее.

Я уже использую initialScrollIndex и могу прокручивать Index изображения, но я думаю, что при первом монтировании может возникнуть некоторый сбой

Вот изображение с initialScrollIndex именно на том элементе, который я хочу. скриншот

Поведение, которое я хочу, — это использовать initialScrollIndex и показывать предыдущий элемент вместо следующего. скриншот

 export default class App extends Component {
    flatList = null;

    componentDidMount() {
        setTimeout(() => {

            this.flatList.scrollToIndex({
                index: 3,
                animated: false,
                viewPosition: 1
            })
        }, 10)
    }

    setFlatList = (ref) => {
        this.flatList = ref;
    }

    getItemLayout = (_, index) => ({
        index,
        length: 600,
        offset: 600 * index
    });

    renderItem = ({ index }) => {
        const backgroundColor =
            index === 0 ? "blue" : index === 1 ? "red" : index === 2 ? "green" : index === 3 ? "yellow" : "white";
        return (
            <View style={{ height: 600, backgroundColor, width: 450, justifyContent: "center", alignItems: "center" }}>
                <Text>{`item${index}`}</Text>
            </View>
        );
    }

    render() {
        return (
            <View style={styles.container}>
                <View style={{ ...StyleSheet.absoluteFillObject }}>
                    <FlatList keyExtractor={(_, index) => `${index}`} getItemLayout={this.getItemLayout} ref={this.setFlatList} data={["yo", "1", "2", "3", "4"]} renderItem={this.renderItem} />
                </View>
            </View>
        );
    }
  

Комментарии:

1. пожалуйста, предоставьте код с ним ….