storybook 未捕获的类型错误:dispatcher.useInsertionEffect不是一个函数,

pieyvz9o  于 4个月前  发布在  其他
关注(0)|答案(3)|浏览(37)

Bug描述

我使用Rollup创建了一个项目,该项目基本上是一个库,我在其中导出了一些可重用的组件。我尝试安装storybook,执行了npx storybook init,然后执行了npm run storybook。当我打开控制台检查错误时,发现控制台出现了不同类型的错误,其中最常见的一个是:Uncaught TypeError: dispatcher.useInsertionEffect is not a function。
除了这个错误之外,还有一些其他错误:
vendorsmain.manager.bundle.js:97153 The above error occurred in the component: vendorsmain.manager.bundle.js:97153 The above error occurred in the component:

我的rollup.config.js文件如下:

import resolve from "@rollup/plugin-node-resolve";
import commonjs from "@rollup/plugin-commonjs";
import typescript from "@rollup/plugin-typescript";
import dts from "rollup-plugin-dts";
import postcss from "rollup-plugin-postcss";
const packageJson = require("./package.json");
export default [
 {
 input: "src/index.ts",
 output: [
 {
 file: packageJson.main,
 format: "cjs",
 sourcemap: true,
 },
 {
 file: packageJson.module,
 format: "esm",
 sourcemap: true,
 },
 ],
 plugins: [
 resolve(),
 postcss({
 minimize: true,
 modules: true,
 use: {
  sass: null,
  stylus: null,
  less: { javascriptEnabled: true },
 },
 extract: true,
 }),
 commonjs(),
 typescript({ tsconfig: "./tsconfig.json" })
 ],
 },
 {
 input: "dist/esm/types/index.d.ts",
 output: [{ file: "dist/index.d.ts", format: "esm" }],
 plugins: [dts()],
 external: [/.css$/],
 },
];
eoigrqb6

eoigrqb61#

我通过安装react-dom解决了这个问题:

npm i --save-dev react@18 react-dom@18

请确保您的"devDependencies"中同时包含"react"和"react-dom"(不仅仅是"peerDependencies"),并且已正确安装它们。然后运行storybook初始化脚本:

npx storybook init --builder webpack5

希望这对您有所帮助!

lvjbypge

lvjbypge2#

我更新到了react-dom@18,删除了node模块,重新安装后它可以工作。

nhhxz33t

nhhxz33t3#

npm i --save-dev react@18 react-dom@18

相关问题