Remove bad idea

This commit is contained in:
Dan Abramov
2023-12-21 17:19:55 +00:00
parent e09b3185bb
commit 79eadf5141
2 changed files with 10 additions and 39 deletions
+8 -14
View File
@@ -20,7 +20,6 @@ export const Pager = React.forwardRef(function PagerImpl(
children, children,
tabBarPosition = 'top', tabBarPosition = 'top',
initialPage = 0, initialPage = 0,
headerOnlyHeight = 0,
renderTabBar, renderTabBar,
onPageSelected, onPageSelected,
onPageSelecting, onPageSelecting,
@@ -41,20 +40,15 @@ export const Pager = React.forwardRef(function PagerImpl(
setSelectedPage(index) setSelectedPage(index)
onPageSelected?.(index) onPageSelected?.(index)
onPageSelecting?.(index) onPageSelecting?.(index)
if (scrollY >= headerOnlyHeight) { // if (scrollY >= headerOnlyHeight) {
window.scrollTo( window.scrollTo(
0, 0,
Math.max(headerOnlyHeight, scrollYs.current[index] ?? 0), scrollYs.current[index] ?? 0,
) // Math.max(headerOnlyHeight, scrollYs.current[index] ?? 0),
} )
// }
}, },
[ [selectedPage, setSelectedPage, onPageSelected, onPageSelecting],
selectedPage,
setSelectedPage,
onPageSelected,
onPageSelecting,
headerOnlyHeight,
],
) )
return ( return (
+2 -25
View File
@@ -39,17 +39,6 @@ export const PagerWithHeader = React.forwardRef<PagerRef, PagerWithHeaderProps>(
ref, ref,
) { ) {
const [currentPage, setCurrentPage] = React.useState(0) const [currentPage, setCurrentPage] = React.useState(0)
const [headerOnlyHeight, setHeaderOnlyHeight] = React.useState(0)
const onHeaderOnlyLayout = React.useCallback(
(evt: LayoutChangeEvent) => {
const height = evt.nativeEvent.layout.height
if (height > 0) {
setHeaderOnlyHeight(Math.round(height))
}
},
[setHeaderOnlyHeight],
)
const renderTabBar = React.useCallback( const renderTabBar = React.useCallback(
(props: RenderTabBarFnProps) => { (props: RenderTabBarFnProps) => {
@@ -59,20 +48,12 @@ export const PagerWithHeader = React.forwardRef<PagerRef, PagerWithHeaderProps>(
renderHeader={renderHeader} renderHeader={renderHeader}
currentPage={currentPage} currentPage={currentPage}
onCurrentPageSelected={onCurrentPageSelected} onCurrentPageSelected={onCurrentPageSelected}
onHeaderOnlyLayout={onHeaderOnlyLayout}
onSelect={props.onSelect} onSelect={props.onSelect}
testID={testID} testID={testID}
/> />
) )
}, },
[ [items, renderHeader, currentPage, onCurrentPageSelected, testID],
items,
renderHeader,
currentPage,
onCurrentPageSelected,
onHeaderOnlyLayout,
testID,
],
) )
const onPageSelectedInner = React.useCallback( const onPageSelectedInner = React.useCallback(
@@ -95,7 +76,6 @@ export const PagerWithHeader = React.forwardRef<PagerRef, PagerWithHeaderProps>(
onPageSelected={onPageSelectedInner} onPageSelected={onPageSelectedInner}
onPageSelecting={onPageSelecting} onPageSelecting={onPageSelecting}
renderTabBar={renderTabBar} renderTabBar={renderTabBar}
headerOnlyHeight={headerOnlyHeight}
tabBarPosition="top"> tabBarPosition="top">
{toArray(children) {toArray(children)
.filter(Boolean) .filter(Boolean)
@@ -117,7 +97,6 @@ let PagerTabBar = ({
testID, testID,
renderHeader, renderHeader,
onCurrentPageSelected, onCurrentPageSelected,
onHeaderOnlyLayout,
onSelect, onSelect,
}: { }: {
currentPage: number currentPage: number
@@ -131,9 +110,7 @@ let PagerTabBar = ({
const {isMobile} = useWebMediaQueries() const {isMobile} = useWebMediaQueries()
return ( return (
<> <>
<View <View style={[!isMobile && styles.headerContainerDesktop, pal.border]}>
style={[!isMobile && styles.headerContainerDesktop, pal.border]}
onLayout={onHeaderOnlyLayout}>
{renderHeader?.()} {renderHeader?.()}
</View> </View>
<View <View