Skip to content

Commit 6117b09

Browse files
Fix reactive parameter for docs page
1 parent a5b9c44 commit 6117b09

File tree

1 file changed

+11
-7
lines changed

1 file changed

+11
-7
lines changed

code/core/src/manager-api/root.tsx

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import React, {
1313
import type { Listener } from 'storybook/internal/channels';
1414
import { deprecate } from 'storybook/internal/client-logger';
1515
import {
16+
DOCS_PREPARED,
1617
SET_STORIES,
1718
SHARED_STATE_CHANGED,
1819
SHARED_STATE_SET,
@@ -341,16 +342,19 @@ export function useParameter<S>(parameterKey: string, defaultValue?: S) {
341342
const api = useStorybookApi();
342343
const [parameter, setParameter] = useState(api.getCurrentParameter<S>(parameterKey));
343344

345+
const handleParameterChange = useCallback(() => {
346+
const newParameter = api.getCurrentParameter<S>(parameterKey);
347+
if (newParameter !== parameter) {
348+
setParameter(newParameter);
349+
}
350+
}, [api, parameter, parameterKey]);
351+
344352
useChannel(
345353
{
346-
[STORY_PREPARED]: () => {
347-
const newParameter = api.getCurrentParameter<S>(parameterKey);
348-
if (newParameter !== parameter) {
349-
setParameter(newParameter);
350-
}
351-
},
354+
[STORY_PREPARED]: handleParameterChange,
355+
[DOCS_PREPARED]: handleParameterChange,
352356
},
353-
[]
357+
[handleParameterChange]
354358
);
355359

356360
return orDefault<S>(parameter, defaultValue!);

0 commit comments

Comments
 (0)