Skip to content

Commit

Permalink
revert: hydrate data
Browse files Browse the repository at this point in the history
Signed-off-by: Innei <[email protected]>
  • Loading branch information
Innei committed May 7, 2024
1 parent 01646e6 commit a05986d
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 3 deletions.
12 changes: 12 additions & 0 deletions src/hooks/use-before-mounted.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
'use client'

import { useRef } from 'react'

export const useBeforeMounted = (fn: () => any) => {
const effectOnce = useRef(false)

if (!effectOnce.current) {
effectOnce.current = true
fn?.()
}
}
11 changes: 8 additions & 3 deletions src/react/contexts/create-model-data-context.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,12 @@
import { createContext, memo, useCallback, useContext, useEffect } from 'react'
import { produce } from 'immer'
import { atom, useAtomValue, useSetAtom, useStore } from 'jotai'
import { selectAtom, useHydrateAtoms } from 'jotai/utils'
import { selectAtom } from 'jotai/utils'
import type { PrimitiveAtom } from 'jotai'
import type { FC, PropsWithChildren } from 'react'

import { noopArr } from '~/__internal/constants.js'
import { useBeforeMounted } from '~/hooks/use-before-mounted.js'
import { getGlobalStore } from '~/index.js'

export const createModelDataProvider = <Model,>() => {
Expand Down Expand Up @@ -36,8 +37,12 @@ export const createModelDataProvider = <Model,>() => {

const setData = useSetAtom(currentDataAtom)

useHydrateAtoms([[currentDataAtom, data]], {
dangerouslyForceHydrate: true,
// useHydrateAtoms([[currentDataAtom, data]], {
// dangerouslyForceHydrate: true,
// })

useBeforeMounted(() => {
setData(data)
})

useEffect(() => {
Expand Down

0 comments on commit a05986d

Please sign in to comment.