Skip to content

Commit

Permalink
fix: force update
Browse files Browse the repository at this point in the history
Signed-off-by: Innei <[email protected]>
  • Loading branch information
Innei committed Feb 23, 2024
1 parent 34f5b73 commit 7012092
Show file tree
Hide file tree
Showing 7 changed files with 15 additions and 6 deletions.
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
'use client'

import { createContext, useContext, useEffect, useMemo, useState } from 'react'
import { useForceUpdate } from 'framer-motion'
import { produce } from 'immer'
import { atom, useAtom } from 'jotai'
import type { WriteEditEvent } from '~/events'
Expand All @@ -12,6 +11,7 @@ import { StyledButton } from '~/components/ui/button'
import { useModalStack } from '~/components/ui/modal'
import { EmitKeyMap } from '~/constants/keys'
import { useBeforeUnload } from '~/hooks/common/use-before-unload'
import { useForceUpdate } from '~/hooks/common/use-force-update'
import { throttle } from '~/lib/lodash'
import { buildNSKey } from '~/lib/ns'

Expand Down
3 changes: 2 additions & 1 deletion src/components/modules/note/NoteActionAside.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,12 @@
'use client'

import { m, useAnimationControls, useForceUpdate } from 'framer-motion'
import { m, useAnimationControls } from 'framer-motion'

import { useIsMobile } from '~/atoms/hooks'
import { MotionButtonBase } from '~/components/ui/button'
import { useModalStack } from '~/components/ui/modal'
import { NumberSmoothTransition } from '~/components/ui/number-transition/NumberSmoothTransition'
import { useForceUpdate } from '~/hooks/common/use-force-update'
import { useIsClient } from '~/hooks/common/use-is-client'
import { isLikedBefore, setLikeId } from '~/lib/cookie'
import { clsxm } from '~/lib/helper'
Expand Down
3 changes: 2 additions & 1 deletion src/components/modules/post/PostActionAside.tsx
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
'use client'

import { m, useAnimationControls, useForceUpdate } from 'framer-motion'
import { m, useAnimationControls } from 'framer-motion'

import { useIsMobile } from '~/atoms/hooks'
import { ThumbsupIcon } from '~/components/icons/thumbs-up'
import { MotionButtonBase } from '~/components/ui/button'
import { useModalStack } from '~/components/ui/modal'
import { NumberSmoothTransition } from '~/components/ui/number-transition/NumberSmoothTransition'
import { useForceUpdate } from '~/hooks/common/use-force-update'
import { useIsClient } from '~/hooks/common/use-is-client'
import { isLikedBefore, setLikeId } from '~/lib/cookie'
import { clsxm } from '~/lib/helper'
Expand Down
2 changes: 1 addition & 1 deletion src/components/modules/toc/TocAside.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import React, {
useMemo,
useRef,
} from 'react'
import { useForceUpdate } from 'framer-motion'

import { DOMCustomEvents } from '~/constants/event'
import { useForceUpdate } from '~/hooks/common/use-force-update'
import { clsxm } from '~/lib/helper'
import { throttle } from '~/lib/lodash'
import { useWrappedElement } from '~/providers/shared/WrappedElementProvider'
Expand Down
2 changes: 1 addition & 1 deletion src/components/ui/editor/Milkdown/plugins/Excalidraw.tsx
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
import { useNodeViewContext } from '@prosemirror-adapter/react'
import { lazy, Suspense, useEffect, useMemo, useRef, useState } from 'react'
import { useForceUpdate } from 'framer-motion'
import { useAtom } from 'jotai'
import { atomWithStorage } from 'jotai/utils'
import { diff } from 'jsondiffpatch'
Expand All @@ -26,6 +25,7 @@ import { BlockLoading } from '~/components/modules/shared/BlockLoading'
import { StyledButton } from '~/components/ui/button'
import { CheckBoxLabel } from '~/components/ui/checkbox'
import { useModalStack } from '~/components/ui/modal'
import { useForceUpdate } from '~/hooks/common/use-force-update'
import { safeJsonParse } from '~/lib/helper'
import { buildNSKey } from '~/lib/ns'
import { toast } from '~/lib/toast'
Expand Down
2 changes: 1 addition & 1 deletion src/hooks/biz/use-refetch-data.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { useEffect } from 'react'
import { useForceUpdate } from 'framer-motion'

import { EmitKeyMap } from '~/constants/keys'
import { useForceUpdate } from '~/hooks/common/use-force-update'

export const useRefetchData = (refetchFn: () => Promise<any>) => {
const [forceUpdate, key] = useForceUpdate()
Expand Down
7 changes: 7 additions & 0 deletions src/hooks/common/use-force-update.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
import { useCallback, useState } from 'react'

export const useForceUpdate = () => {
const [updated, forceUpdate] = useState(0)

return [useCallback(() => forceUpdate((v) => ++v), []), updated] as const
}

0 comments on commit 7012092

Please sign in to comment.