我像@Janith那样使用了我的组件库(就此而言,任何库都包括在我的应用程序中)my-comp- lib:"file:../.."
(我不想每次想测试时都发布),并且遇到了相同的问题。
无效的挂接调用。挂钩只能在功能组件的主体内部调用。可能由于以下原因之一而发生:
解决这个问题
我可以通过使我的应用程序和库指向相同的react(包)位置来解决此问题。
Below are the steps I followed :
1. In Your Application:
a) cd node_modules/react && npm link
b) cd node_modules/react-dom && npm link
2. In Your Library
a) npm link react
b) npm link react-dom
3)Stop your dev-server and do `npm start` again.
有用!!
https://github.com/facebook/react/issues/14721
https://github.com/facebook/react/pull/14690
https://github.com/facebook/react/issues/13991
注意:如果您将软件包发布到工件上并安装,则不会发生此问题,因为您将具有react&react- dom作为对等依赖项,并且它们不会包含在分发中。因此,您的程序包和应用程序使用与应用程序中安装的相同的React。