Fix useArgs callbacks to have stable references

This commit is contained in:
Gert Hengeveld 2021-03-23 00:47:26 +01:00
parent f2d90d1daa
commit f7f4c1e950

View File

@ -4,6 +4,7 @@ import React, {
FunctionComponent,
ReactElement,
ReactNode,
useCallback,
useContext,
useEffect,
useMemo,
@ -437,12 +438,16 @@ export function useArgs(): [Args, (newArgs: Args) => void, (argNames?: string[])
const data = getCurrentStoryData();
const args = isStory(data) ? data.args : {};
const updateArgs = useCallback((newArgs: Args) => updateStoryArgs(data as Story, newArgs), [
data,
updateStoryArgs,
]);
const resetArgs = useCallback((argNames?: string[]) => resetStoryArgs(data as Story, argNames), [
data,
resetStoryArgs,
]);
return [
args,
(newArgs: Args) => updateStoryArgs(data as Story, newArgs),
(argNames?: string[]) => resetStoryArgs(data as Story, argNames),
];
return [args, updateArgs, resetArgs];
}
export function useGlobals(): [Args, (newGlobals: Args) => void] {