Solid.js报错React未定义,但所用Solid类库并不依赖React
解决Solid.js中使用Solid-spinner/solid-query时出现“React is not defined”的问题
可能的原因及解决方案:
确认依赖安装的正确性
确保你安装的是Solid.js专属库,而非React版本:- 加载动画库:卸载可能误装的
react-spinners,重新安装solid-spinners:npm uninstall react-spinners && npm install solid-spinners - 数据查询库:卸载可能误装的
react-query,重新安装solid-query:npm uninstall react-query && npm install @tanstack/solid-query
- 加载动画库:卸载可能误装的
检查构建工具配置
以Vite为例,确认vite.config.js使用Solid专用插件而非React插件:
正确配置示例:import { defineConfig } from 'vite'; import solidPlugin from 'vite-plugin-solid'; export default defineConfig({ plugins: [solidPlugin()], });若使用Webpack,需确保配置中使用Solid的loader,而非React的babel预设。
排查代码中的错误导入
检查所有组件文件:- 移除任何冗余的
import React from 'react'语句 - 确认Spinner组件的导入来源为
solid-spinners,例如:import { TailSpin } from 'solid-spinners';
- 移除任何冗余的
检查依赖树中的隐式React依赖
用包管理器查看是否有第三方依赖偷偷引入了React:npm ls react若发现此类依赖,确认是否为必要项,或替换为Solid兼容的替代库。
内容的提问来源于stack exchange,提问作者Ole Dybedokken
相关产品推荐
相关产品推荐

