@@ -19,48 +19,51 @@ type TProps = {
1919 userId ?: TID
2020 size ?: TSIZE_TSM
2121 loading ?: boolean
22- fakeLoading ?: boolean
22+ simuLoading ?: boolean
2323 followText ?: string
2424 followingText ?: string
25+ followingOffset ?: number
2526 onFollow ?: ( userId : TID ) => void
2627 onUndoFollow ?: ( userId : TID ) => void
2728}
2829
2930const FollowButton : FC < TProps > = ( {
3031 userId,
3132 size = SIZE . SMALL ,
32- fakeLoading = false ,
33+ simuLoading = true ,
3334 loading = false ,
3435 hasFollowed = false ,
3536 followText = '关 注' ,
3637 followingText = '已关注' ,
38+ followingOffset = 0 ,
3739 onFollow = log ,
3840 onUndoFollow = log ,
3941} ) => {
40- const [ simuLoading , setSimuLoading ] = useState ( false )
41- const isLoading = fakeLoading ? simuLoading : loading
42+ const [ fakeLoading , setFakeLoading ] = useState ( false )
43+ const isLoading = simuLoading ? fakeLoading : loading
4244
4345 const handleFollow = useCallback ( ( ) => {
44- if ( fakeLoading ) {
45- setSimuLoading ( true )
46- setTimeout ( ( ) => setSimuLoading ( false ) , 1500 )
46+ if ( simuLoading ) {
47+ setFakeLoading ( true )
48+ setTimeout ( ( ) => setFakeLoading ( false ) , 1500 )
4749 }
4850 onFollow ( userId )
49- } , [ fakeLoading , onFollow , userId ] )
51+ } , [ simuLoading , onFollow , userId ] )
5052
5153 const handleUndoFollow = useCallback ( ( ) => {
52- if ( fakeLoading ) {
53- setSimuLoading ( true )
54- setTimeout ( ( ) => setSimuLoading ( false ) , 1500 )
54+ if ( simuLoading ) {
55+ setFakeLoading ( true )
56+ setTimeout ( ( ) => setFakeLoading ( false ) , 1500 )
5557 }
5658 onUndoFollow ( userId )
57- } , [ fakeLoading , onUndoFollow , userId ] )
59+ } , [ simuLoading , onUndoFollow , userId ] )
5860
5961 return (
6062 < >
6163 { hasFollowed ? (
6264 < FollowingBtn
6365 size = { size }
66+ followingOffset = { followingOffset }
6467 loading = { isLoading }
6568 text = { followingText }
6669 onClick = { handleUndoFollow }
0 commit comments