javascript - 缩小的 React 错误 #321 - 从已发布的包中导入 React 组件时出错
问题描述
我正在尝试从我发布的包中导入 React 组件并使用 ReactDOM.render 呈现它。该包发布在 gemfury 上,并使用 parcel 进行构建。
我收到错误
Uncaught Error: Minified React error #321; visit https://reactjs.org/docs/error-decoder.html?invariant=321
当我尝试在我的项目中渲染它时。这就是我使用它的方式:
import ReactDOM from 'react-dom'
import React from 'react'
import { Component } from '@me/library'
const container = document.querySelector(
'#container'
)
const component_props = {name: 'john doe', ... }
ReactDOM.render(
React.createElement(Component, component_props), container
)
它抛出的错误表明我正在使用功能组件之外的钩子(我确定我没有这样做)或者我有多个版本的反应。React 站点上列出的每个测试都表明只有一个版本的 React (16.13.1) 正在运行。我已经尝试了 React 文档建议的所有修复方法,但没有运气。为什么只有一个版本的 React 时会出现此错误?如何从外部包中导入组件并成功渲染?
解决方案
import Component from 'package'
...
render(<Component name='Name'/>, // container)
我不确定你应该在createElement
这里使用。