React Hooks Error: Hooks can only be called inside the body of a function component

通过npm link调试React Hook的组件的坑。

npm有个npm link 命令,可以让我们不需要每次都发布npm包就可以进行本地调试,但是当我们引用的本地npm包里有使用React Hook的组件,那么基本就会出现多个react副本的报错;

解决方法不好找,但也很简单,就是在父级项目的(注意,不是被link的npm包)webpack.config.js里添加下面的别名:

  resolve: {
        alias: {
            'react': path.resolve(__dirname, 'node_modules/react'),
            'react-dom': path.resolve(__dirname, 'node_modules/react-dom')
        }
    }

路径指向该项目的node_modules里的依赖包就行了

你可能感兴趣的:(react)