refactor: memoize useStateIO

This commit is contained in:
EnixCoda 2022-05-15 01:15:54 +08:00
parent c492397a34
commit a01a7ede9e

View file

@ -1,11 +1,9 @@
import * as React from 'react'
export function useStateIO<S>(
initialState: S | (() => S),
): {
export function useStateIO<S>(initialState: S | (() => S)): {
value: S
onChange: React.Dispatch<React.SetStateAction<S>>
} {
const [value, onChange] = React.useState(initialState)
return { value, onChange }
return React.useMemo(() => ({ value, onChange }), [value])
}