diff --git a/components/vc-menu/InjectExtraProps.js b/components/vc-menu/InjectExtraProps.js
index c1e0a67da..08cd59cc6 100644
--- a/components/vc-menu/InjectExtraProps.js
+++ b/components/vc-menu/InjectExtraProps.js
@@ -1,4 +1,4 @@
-import { createVNode, defineComponent, inject, provide } from 'vue';
+import { createVNode, defineComponent, inject, provide, watch } from 'vue';
 import { injectExtraPropsKey } from './FunctionProvider';
 
 export default function wrapWithConnect(WrappedComponent) {
@@ -13,9 +13,13 @@ export default function wrapWithConnect(WrappedComponent) {
     props,
     setup(props) {
       provide(injectExtraPropsKey, undefined); // 断掉 injectExtraPropsKey 的依赖
+      const injectExtraProps = injectExtraPropsKey ? inject(injectExtraPropsKey, () => ({})) : {};
+      watch(injectExtraProps, ()=>{
+        // 神奇的问题,vue 3.0.3 之后,没能正确响应式,暂时加个 watch hack 一下
+      });
       return {
         props,
-        injectExtraProps: injectExtraPropsKey ? inject(injectExtraPropsKey, () => ({})) : {},
+        injectExtraProps,
       };
     },
     methods: {