首页 > 解决方案 > 缩小的 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 时会出现此错误?如何从外部包中导入组件并成功渲染?

标签: javascriptreactjs

解决方案


import Component from 'package'

...

render(<Component name='Name'/>, // container)

我不确定你应该在createElement这里使用。


推荐阅读