UNPKG

706 BPlain TextView Raw
1import { useDeprecated } from "./utils/utils"
2import { observable, runInAction } from "mobx"
3import { useState } from "react"
4
5export function useAsObservableSource<TSource extends object>(current: TSource): TSource {
6 if ("production" !== process.env.NODE_ENV)
7 useDeprecated(
8 "[mobx-react-lite] 'useAsObservableSource' is deprecated, please store the values directly in an observable, for example by using 'useLocalObservable', and sync future updates using 'useEffect' when needed. See the README for examples."
9 )
10 const [res] = useState(() => observable(current, {}, { deep: false }))
11 runInAction(() => {
12 Object.assign(res, current)
13 })
14 return res
15}