فهرست منبع

fix: 修复react_devtool报错信息

xyh 2 سال پیش
والد
کامیت
d1a8b2d002
1فایلهای تغییر یافته به همراه9 افزوده شده و 3 حذف شده
  1. 9 3
      packages/app/src/pages/home/context.ts

+ 9 - 3
packages/app/src/pages/home/context.ts

@@ -17,13 +17,19 @@ const defaultTab: State[0] = {key: '-1', url: '/main', label: '首页'};
 
 function reducer(state: State, action: Action): State {
   const {type} = action;
-  const {key, dispatch} = tabStore.getState();
+  const {key, dispatch: update} = tabStore.getState();
+
+  // 防止react devtool报错
+  function dispatch(key: string) {
+    Promise.resolve().then(() => update(key));
+  }
 
   switch (type) {
     case 'ADD': {
       const {payload} = action;
-
-      dispatch(payload.key);
+      setTimeout(function () {
+        dispatch(payload.key);
+      }, 0);
 
       const exist = state.find(val => val.key === payload.key);
       if (exist) {