反应错误:元素类型无效:需要一个字符串
Posted
技术标签:
【中文标题】反应错误:元素类型无效:需要一个字符串【英文标题】:React error: Element type is invalid: expected a string 【发布时间】:2021-12-28 17:01:19 【问题描述】:我正在使用 React 制作日历,但是当我尝试运行它时会出现此问题:
yarn start "错误:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:对象。您可能忘记从定义的文件中导出组件,或者你可能混淆了默认和命名的导入。
检查Calendar
的渲染方法。"
我的 Calendar.jsx 代码:
import React, useRef,useState from "react";
import FullCalendar from '@fullcalendar/react'
import dayGridPlugin from '@fullcalendar/daygrid'
import AddEventModal from "./AddEventModal";
function Calendar ()
const[modalOpen, setModalOpen] = useState(false);
const calendarRef =useRef(null);
const onEventAdded = event =>
let calendarApi = calendarRef.current.getApi();
calendarApi.addEvent(event);
return(
<section>
<button>Add Event to the Calendar</button>
<FullCalendar
ref=calendarRef
plugins=[ dayGridPlugin ]
initialView="dayGridMonth"
/>
<AddEventModal isOpen=modalOpen
onClose=() => setModalOpen(false)
onEventAdded=event => onEventAdded(event)/>
</section>
)
export default Calendar
【问题讨论】:
能否将调用父组件与AddEventModal
一起添加?
你也可以发AddEventModal
吗?
【参考方案1】:
遇到了同样的问题(但没有使用模式)。原来组件的导入 URL 是错误的。那就是当文件的 URL 明显错误时 React v17 给你的错误消息。可能要检查您的导入吗?
【讨论】:
以上是关于反应错误:元素类型无效:需要一个字符串的主要内容,如果未能解决你的问题,请参考以下文章
错误:元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)React JS
元素类型无效:需要一个字符串(对于内置组件)或一个类/函数(对于复合组件)但得到:未定义的 React