#javascript #android #ios #reactjs #react-native
#javascript #Android #iOS #reactjs #react-native
Вопрос:
Привет! Я пытаюсь завершить функциональность, отображаемую на закрепленном изображении. Я сделал это с помощью события onScroll FlatList, но оно меняет значение на медленное, активный элемент не всегда находится в середине. Это какой-то способ всегда присваивать стили элементу, который находится в центре? Ниже приведен мой обработчик прокрутки.
const onScroll = (event) => {
const { y } = event.nativeEvent.contentOffset;
const { height: layoutHeight } = event.nativeEvent.layoutMeasurement;
const value = Math.floor(y / itemHeight) Math.floor(layoutHeight / itemHeight / 2);
if (activeItem !== value) {
setActiveItem(value);
}
}
Ответ №1:
Попробуйте добавить async / await перед установкой значения активного элемента
const onScroll = async (event) => {
await const { y } = event.nativeEvent.contentOffset;
await const { height: layoutHeight } = event.nativeEvent.layoutMeasurement;
await const value = Math.floor(y / itemHeight) Math.floor(layoutHeight / itemHeight / 2);
await if (activeItem !== value) {
setActiveItem(value);
}
}