'Yarn link in react app results in "Invalid hook" error
I am developing a component shared lib for my app, when I do yarn start, I got this error
Error: Invalid hook call. Hooks can only be called inside of the body of a function component. This could happen for one of the following reasons:
1. You might have mismatching versions of React and the renderer (such as React DOM)
2. You might be breaking the Rules of Hooks
3. You might have more than one copy of React in the same app
See https://reactjs.org/link/invalid-hook-call for tips about how to debug and fix this problem
Here's package.json for my lib:
"devDependencies": {
...
"react": "^17.0.2",
"react-dom": "^17.0.2",
...
},
"peerDependencies": {
"react": "^17.0.2",
"react-dom": "^17.0.2"
}
and here's my package.json in my app:
"dependencies": {
...
"react": "^17.0.2",
"react-cookie": "^4.0.3",
...
}
I am using rollup for bundle:
import babel from "@rollup/plugin-babel";
import resolve from "@rollup/plugin-node-resolve";
import typescript from "@rollup/plugin-typescript";
import commonjs from "@rollup/plugin-commonjs";
import postcss from "rollup-plugin-postcss";
export default [
{
input: "./src/index.ts",
output: [
{
file: "dist/index.js",
format: "cjs",
},
],
plugins: [
resolve({ skip: ["react", "react-dom"] }),
babel({
exclude: "node_modules/**",
presets: ["@babel/preset-react"],
babelHelpers: "bundled",
}),
commonjs({ include: ["./index.ts", "node_modules/**"] }),
typescript({ tsconfig: "./tsconfig.json" }),
postcss(),
],
},
];
How to solve this? I have a feeling yarn link caused 2 copies of React in my app.
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
