Skip to content

Commit a457912

Browse files
author
anakin_karrot
committed
feat: Detach prepare logic from useFlow
1 parent ad81ad3 commit a457912

3 files changed

Lines changed: 12 additions & 15 deletions

File tree

extensions/link/src/future/Link.tsx

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,7 @@ export interface LinkProps<K extends RegisteredActivityName>
3232

3333
export function Link<K extends RegisteredActivityName>(props: LinkProps<K>) {
3434
const config = useConfig();
35-
const { push, replace } = useFlow({
36-
reachableActivities: [props.activityName],
37-
});
35+
const { push, replace } = useFlow();
3836

3937
const href = useMemo(() => {
4038
const match = config.activities.find((r) => r.name === props.activityName);
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
import type { RegisteredActivityName } from "@stackflow/config";
2+
import { useFlow } from "./useFlow";
3+
4+
export function useActivityPreparation(activities: RegisteredActivityName[]) {
5+
const actions = useFlow();
6+
7+
for (const activityName of activities) {
8+
actions.prepare(activityName);
9+
}
10+
}
Lines changed: 1 addition & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
import type { RegisteredActivityName } from "@stackflow/config";
21
import { useCoreActions } from "../__internal__/core";
32
import type { Actions } from "./Actions";
43
import { useActivityComponentMap } from "./ActivityComponentMapProvider";
@@ -10,11 +9,7 @@ export type FlowOutput = {
109
useFlow: () => Actions;
1110
};
1211

13-
export interface UseFlowOptions {
14-
reachableActivities?: RegisteredActivityName[];
15-
}
16-
17-
export function useFlow(options?: UseFlowOptions): Actions {
12+
export function useFlow(): Actions {
1813
const coreActions = useCoreActions();
1914
const config = useConfig();
2015
const activityComponentMap = useActivityComponentMap();
@@ -26,11 +21,5 @@ export function useFlow(options?: UseFlowOptions): Actions {
2621
loadData,
2722
);
2823

29-
if (options?.reachableActivities) {
30-
for (const activityName of options.reachableActivities) {
31-
actions.prepare(activityName);
32-
}
33-
}
34-
3524
return actions;
3625
}

0 commit comments

Comments
 (0)