【问题标题】:Error: Minified React error #130, When rendering the child component错误:Minified React 错误 #130,渲染子组件时
【发布时间】:2021-06-08 12:36:02
【问题描述】:

我正在创建一个带有 react 和一个 npm 组件包的 chrome 扩展。我正在尝试在页面上显示错误消息。当我触发错误消息组件时,我收到一个错误。

这是错误:-

Error: Minified React error #130; visit https://reactjs.org/docs/error-decoder.html?invariant=130&args[]=undefined&args[]= for the full message or use the non-minified dev environment for full errors and additional helpful warnings.

但该错误消息组件在其他代码中正常工作。它只出现在我的 chrome 扩展中。

这是我的汇总配置!

var babelPresets = [
    [ presetEnv, { modules: false } ],
    [ presetReact]
];
var babelPlugins = ["@babel/plugin-proposal-class-properties"];
 
modules.forEach((module, i) => {
        rollup({
            input: module.entry,
            treeshake: true,
            external:[],
            plugins: [
                postCss({
                    extract: true,
                    plugins: []
                }),
                commonjs({
                    include: path.resolve(__dirname, "./node_modules/**"),
                    namedExports: {
                        react: [
                            'PropTypes',
                            'createElement', 'Component', 'PureComponent', 'Fragment', 'createContext',
                            'forwardRef',
                            'useContext',
                            'useLayoutEffect',
                            'useEffect',
                            'useRef', "isValidElement", "useReducer", "useImperativeHandle",
                            'useState', 'useMemo', 'useCallback', "Children", "cloneElement", "createRef"
                        ],
                        "react-transition-group": ["CSSTransition"],
                        "react-dom": ["unmountComponentAtNode", "render"],
                        "react/jsx-runtime": ["jsxs", "jsx", "Fragment"]
                    }
                }),
                resolve({
                    mainFields: ["module", "main"],
                    customResolveOptions: {
                        moduleDirectory: path.resolve(__dirname, './node_modules')
                    }
                }),
                babel({
                    babelrc: false,
                    externalHelpers: false,
                    presets: babelPresets,
                    plugins: babelPlugins
                }),
                json(),
                replace({
                    "process.env.NODE_ENV": JSON.stringify("production")
                })
            ]
        })
            .then( (bundle) => {
                bundle.write({
                    name: "__rollupModule",
                    format: "iife",
                    file: module.dest,
                    // footer: "window.__rollupModule = undefined;",
                    // dest: module.dest,
                    sourcemap: 'inline'
                }).then(() => {
                    if (i === modules.length - 1) {
                        callback();
                    }
                });
            })
            .catch((err) => log(err));
    });

【问题讨论】:

    标签: reactjs react-native google-chrome-extension rollup


    【解决方案1】:

    元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:未定义。

    您似乎已将 undefined 作为组件子/JXS 节点传递。使用console.log() 检查您向错误消息组件传递的内容。

    【讨论】:

    • 我已经检查过那个组件,没有任何问题。即使我在我的其他项目中使用相同的组件,它也可以正常工作..!仅当我在 chrome 扩展项目中使用该错误时才会发生此错误。
    • @R.M.ARUNKUMAR 是的,组件本身可以很好,只是您在其中传递了一些未定义的数据,它试图显示并最终在 JSX 上下文中返回未定义,这导致了错误.看看你的错误组件之外。
    猜你喜欢
    • 2020-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-13
    • 2020-11-30
    • 2019-04-23
    • 1970-01-01
    • 2021-06-14
    相关资源
    最近更新 更多