Browse Source

fix:解决多次prepare的bug
Fixes #12

sw 1 week ago
parent
commit
c79d4c597c
1 changed files with 10 additions and 4 deletions
  1. 10 4
      src/states/businessFlowMiddlewareLogic.ts

+ 10 - 4
src/states/businessFlowMiddlewareLogic.ts

@@ -1,14 +1,20 @@
-import { Middleware } from '@reduxjs/toolkit';
+import { Action, Middleware } from '@reduxjs/toolkit';
 import prepare from '../domain/exam/prepare';
-import { BusinessFlowState } from './BusinessFlowSlice';
+import { BusinessFlowState, setBusinessFlow } from './BusinessFlowSlice';
 
 const businessFlowMiddlewareLogic: Middleware =
-  (store) => (next) => (action) => {
+  (store) => (next) => (action: Action) => {
     const result = next(action);
-
+    console.log(`[businessFlowMiddleware] Action dispatched: ${action.type}`);
+    if (action.type !== setBusinessFlow.type) {
+      return result; // Only handle setBusinessFlow actions
+    }
     const state = store.getState().BusinessFlow as BusinessFlowState;
     const currentKey = state.currentKey;
     console.log(`[businessFlowMiddleware] currentKey: ${currentKey}`);
+    console.log(
+      `[businessFlowMiddleware] Current business flow is now: ${state.currentKey} ; Last key was: ${state.lastKey}`
+    );
     if (currentKey === 'exam') {
       prepare();
     }