mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-15 21:53:36 +01:00
15 lines
468 B
TypeScript
15 lines
468 B
TypeScript
import type { DependencyList } from 'react';
|
|
import { useEffect, useState } from 'react';
|
|
|
|
/**
|
|
* Like useState, except it will update the value when the default value changes
|
|
*/
|
|
export function useStateWithDeps<T>(defaultValue: T, deps: DependencyList) {
|
|
const [value, setValue] = useState(defaultValue);
|
|
useEffect(() => {
|
|
setValue(defaultValue);
|
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
}, deps);
|
|
return [value, setValue] as const;
|
|
}
|