|  | 
| 1 | 1 | import classNames from 'classnames'; | 
| 2 |  | -import useMergedState from '@rc-component/util/lib/hooks/useMergedState'; | 
|  | 2 | +import useControlledState from '@rc-component/util/lib/hooks/useControlledState'; | 
| 3 | 3 | import KeyCode from '@rc-component/util/lib/KeyCode'; | 
| 4 | 4 | import pickAttrs from '@rc-component/util/lib/pickAttrs'; | 
| 5 | 5 | import warning from '@rc-component/util/lib/warning'; | 
| @@ -75,17 +75,20 @@ const Pagination: React.FC<PaginationProps> = (props) => { | 
| 75 | 75 | 
 | 
| 76 | 76 |   const paginationRef = React.useRef<HTMLUListElement>(null); | 
| 77 | 77 | 
 | 
| 78 |  | -  const [pageSize, setPageSize] = useMergedState<number>(10, { | 
| 79 |  | -    value: pageSizeProp, | 
| 80 |  | -    defaultValue: defaultPageSize, | 
| 81 |  | -  }); | 
|  | 78 | +  const [pageSize, setPageSize] = useControlledState<number>( | 
|  | 79 | +    defaultPageSize, | 
|  | 80 | +    pageSizeProp, | 
|  | 81 | +  ); | 
| 82 | 82 | 
 | 
| 83 |  | -  const [current, setCurrent] = useMergedState<number>(1, { | 
| 84 |  | -    value: currentProp, | 
| 85 |  | -    defaultValue: defaultCurrent, | 
| 86 |  | -    postState: (c) => | 
| 87 |  | -      Math.max(1, Math.min(c, calculatePage(undefined, pageSize, total))), | 
| 88 |  | -  }); | 
|  | 83 | +  const [internalCurrent, setCurrent] = useControlledState<number>( | 
|  | 84 | +    defaultCurrent, | 
|  | 85 | +    currentProp, | 
|  | 86 | +  ); | 
|  | 87 | + | 
|  | 88 | +  const current = Math.max( | 
|  | 89 | +    1, | 
|  | 90 | +    Math.min(internalCurrent, calculatePage(undefined, pageSize, total)), | 
|  | 91 | +  ); | 
| 89 | 92 | 
 | 
| 90 | 93 |   const [internalInputVal, setInternalInputVal] = React.useState(current); | 
| 91 | 94 | 
 | 
|  | 
0 commit comments