Контекст:
Привет, ребята, я работаю с «Reaction-native», используя «expo», и у меня есть инвертированный «FlatList», где он отображает «массив»месяцы с января по декабрь.
Запрос:
До того, как список будет показан пользователюсписок должен фокусироваться в текущем месяце.
Текущая ситуация:
Я использую свойство «FlatList» «scrollToOffset» для выполнения этого запроса, когда списокПри получении «источника данных» автоматически запускается оператор «this.flatList.scrollToOffset», а список анимирует прокрутку и фокусирует конкретный элемент.Однако у меня есть проблема, эта анимация - резкое движение, которое портит UX.
Необходимость:
Можете ли вы помочь мне найти решение этой проблемы?Мне нужно сделать то же самое, но пользователь не может видеть это движение прокрутки, он должен только видеть объект в фокусе.Есть идеи?
Код демонстрации:
Плоский список
<FlatList
ref={ref => (this.flatList = ref)}
inverted
data={foods}
keyExtractor={this.keyExtractor}
renderItem={this.renderItem}
/>
Функция для фокусировки элемента
handlePosition(id) {
/* Item Size from FlatList */
const itemSize = deviceWidth / 2 + 30;
/* Id of the current month */
const idCurrentItem = id;
this.flatList.scrollToOffset({
animated: true,
offset: itemSize * idCurrentItem,
});
}
оператор гдевызвать функцию handlePosition
componentDidMount() {
this.handlePosition(this.props.months[2].id);
}