Skip to content

Commit 988ad2a

Browse files
authored
Merge pull request #38 from navikt/appstate-memoized
memoize fns, reset version-state on contentchange
2 parents 1bcbc7d + 31786d7 commit 988ad2a

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

xp-archive/client/context/appState/AppStateProvider.tsx

+9-3
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import React, { useState } from 'react';
1+
import React, { useCallback, useState } from 'react';
22
import { AppStateContext } from './AppStateContext';
33

44
type Props = {
@@ -9,13 +9,19 @@ export const AppStateProvider = ({ children }: Props) => {
99
const [selectedContentId, setSelectedContentId] = useState<string>();
1010
const [selectedVersionId, setSelectedVersionId] = useState<string>();
1111

12+
const updateSelectedContentId = useCallback((selectedContentId: string) => {
13+
setSelectedVersionId(undefined);
14+
setSelectedContentId(selectedContentId);
15+
}, []);
16+
const setSelectedVersionIdMemoized = useCallback(setSelectedVersionId, [setSelectedVersionId]);
17+
1218
return (
1319
<AppStateContext.Provider
1420
value={{
1521
selectedContentId,
16-
setSelectedContentId,
22+
setSelectedContentId: updateSelectedContentId,
1723
selectedVersionId,
18-
setSelectedVersionId,
24+
setSelectedVersionId: setSelectedVersionIdMemoized,
1925
}}
2026
>
2127
{children}

0 commit comments

Comments
 (0)