私有库自定义组件安装后报错:无法读取useState属性
解决自定义组件npm安装后useState报错及source map 404问题
针对「Uncaught TypeError: Cannot read properties of null (reading 'useState')」错误
- 检查组件库的
package.json,将react和react-dom声明为peerDependencies而非dependencies/devDependencies。组件库会复用宿主项目的React实例,避免多实例导致Dispatcher为空的问题。示例配置:"peerDependencies": { "react": "^18.0.0", "react-dom": "^18.0.0" } - 确认打包工具配置已排除React相关依赖:
- Rollup:在配置文件的
external数组中添加'react'、'react-dom' - Webpack:在
externals配置中设置{ react: 'React', 'react-dom': 'ReactDOM' }
- Rollup:在配置文件的
针对source map加载404错误
- 调整组件库的打包配置,生成相对路径的source map:
- Rollup:设置
output.sourcemapPathTransform将绝对路径转为相对路径,或使用sourcemap: 'inline'把source map嵌入打包文件 - Webpack:设置
devtool: 'source-map',并确保output.publicPath为相对路径,避免生成带本地绝对路径的source map引用
- Rollup:设置
内容的提问来源于stack exchange,提问作者Joaquín Alejandro Nader Fabio
相关产品推荐
相关产品推荐

