umijs / qiankun

📦 🚀 Blazing fast, simple and complete solution for micro frontends.
https://qiankun.umijs.org
MIT License
15.84k stars 2.02k forks source link

[Bug]Invalid hook call. Hooks can only be called inside of the body of a function component #782

Closed gq1045010037 closed 4 years ago

gq1045010037 commented 4 years ago

关于qiankun父子通讯时使用useModel获取props时,@@qiankunStateFromMaster'无效的挂接。

在使用plugin-qiankun时,父子应用通讯中使用useModel('@@qiankunStateFromMaster')获取主应用的传的props时,报Invalid hook call. Hooks can only be called inside of the body of a function component。

父应用使用 路由绑定式 消费微应用,导出useQiankunStateForSlave函数,子应用中用useModel获取透传的props时无法得到值。并且报Invalid hook call. Hooks can only be called inside of the body of a function component的错。

主应用和子应用都是ant design pro V5版本。umi的版本是3.2.10 , react@16.12.0 ,react-dom@16.12.0

相关环境信息

kuitos commented 4 years ago

useModel 基于 hooks,hooks 只能在 function component 中使用 https://zh-hans.reactjs.org/warnings/invalid-hook-call-warning.html

gq1045010037 commented 4 years ago

好的,谢谢。

wellenzhong commented 3 years ago

所以要拿父应用传过来的props并全局保存起来, 应该在哪里拿呢?