#reactjs #react-native #react-native-navigation
Вопрос:
У меня есть навигация по нижней вкладке в моем приложении React native, и на экране первой вкладки у меня есть компонент, который в основном содержит плоский список, и я хочу, чтобы, когда пользователь нажимает на значок этой вкладки, он прокручивался вверх (в основном, как instagram). Я попробовал несколько реализаций, где я использовал scrollToIndex
и scrollToOffset
и пытался использовать useScrollToTop
навигацию в react, и вот моя реализация:
(TabNavigator.js):
<Tab.Screen
name="Home"
component={HomeNavigation}
options={{
tabBarButton: (props) => (
<TouchableOpacity
{...props}
style={[...props.style, styles.buttonStyle]}
disabled={currentShapeAnim.name === 'home'}
onPress={() => {
setTimeout(() => {
navigation.navigate('Home');
}, 550);
selectTab('home', jumpHome, bounceHome, wp(35));
}}>
{!hideHome amp;amp; (
<Shape icon="e-home" shapeAnimations={[bounceHome]} />
)}
<Shape icon="f-home" shapeAnimations={[bounceHome, jumpHome]} />
</TouchableOpacity>
),
}}
/>
... // other screens
и в моем Домашнем Компоненте:
const recipeScroll = useRef(null);
useScrollToTop(recipeScroll);
...
...
<FlatList
ref={recipeScroll}
style={{marginLeft: wp(2), width: '100%', height: hp(20)}}
data={meals}
showsHorizontalScrollIndicator={false}
horizontal
scrollEnabled
renderItem={({item}) => <MealCard item={item} {...item} />}
Ответ №1:
попробуйте, возможно, прокрутить до первого индекса или элемента.
с помощью функции scrolltoindex