frontend-collective-react-dnd-scrollzone
frontend-collective-react-dnd-scrollzone copied to clipboard
React should *only* be a peer dependency
I've just upgraded to React 17, and my code is now failing due to a this error:
Uncaught 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
Running npm ls react
(as suggested here: https://reactjs.org/warnings/invalid-hook-call-warning.html) tells me that frontend-collective-react-dnd-scrollzone is pulling in React 16.
If you see more than one React, you’ll need to figure out why this happens and fix your dependency tree. For example, maybe a library you’re using incorrectly specifies react as a dependency (rather than a peer dependency).
You are specifying React as a peer dependency, but you're also specifying it directly in devDependencies. Can you please remove the direct dependency?
npm devDependencies aren't installed when you npm install
a package https://github.com/npm/npm/blob/v6.1.0/doc/files/package.json.md#devdependencies
I have the exact same error in my application. I would also like to upgrade to react 17. What's weird is that even when I downgrade react to a compatible version, this package still pulls in its own copy.
$ npm ls react
[email protected] /client
├── [email protected]
└─┬ [email protected]
└─┬ [email protected]
└── [email protected]
If using Yarn, resolutions
can be used as a workaround:
"resolutions": {
"**/frontend-collective-react-dnd-scrollzone/react": "^17.0.2",
"**/frontend-collective-react-dnd-scrollzone/react-dom": "^17.0.2"
}