Invalid hook call. Hooks can only be called inside of the body of a function component

I had this issue when I used npm link to install my local library, which I’ve built using cra. I found the answer here. Which literally says:

This problem can also come up when you use npm link or an equivalent.
In that case, your bundler might “see” two Reacts — one in application
folder and one in your library folder. Assuming ‘myapp’ and ‘mylib’
are sibling folders, one possible fix is to run ‘npm link
../myapp/node_modules/react’ from ‘mylib’. This should make the
library use the application’s React copy.

Thus, running the command: npm link <path_to_local_library>/node_modules/react, eg. in my case npm link ../../libraries/core/decipher/node_modules/react from the project directory has fixed the issue.

Leave a Comment