mirror of
https://github.com/mountain-loop/yaak.git
synced 2026-01-16 05:56:47 +01:00
15 lines
492 B
TypeScript
15 lines
492 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 | (() => T), deps: DependencyList) {
|
|
const [value, setValue] = useState(defaultValue);
|
|
// biome-ignore lint/correctness/useExhaustiveDependencies: none
|
|
useEffect(() => {
|
|
setValue(defaultValue);
|
|
}, [...deps]);
|
|
return [value, setValue] as const;
|
|
}
|