reactjs - 错误消息:如果您打算渲染一组子项,请使用数组而不是 React JS
问题描述
我的项目有问题。一切正常,直到我将导航栏组件添加到技能中,然后我收到以下错误消息。一旦我从技能组件中删除导航栏,一切都运行得很好。
错误:对象作为 React 子项无效(找到:[object Promise])。如果您打算渲染一组孩子,请改用数组
有人可以告诉我我做错了什么吗?
狮子座
技能部分
import { data } from '../../SkillData';
import SkillsList from "./SkillsList";
import Header from './Header';
import Navbar from './Navbar';
function Speakers () {
return (
<>
<Navbar />
<Header />
<SkillsList data={data} />
</>
);
}
export default Speakers;
导航栏组件
import Image from "next";
const navbarData = [
{ "id": "1",
"title": "home",
"ref": "#home"
},
{ "id":"2",
"title": "Skills",
"ref": "#skills"
},
{ "id":"3",
"title": "The List",
"ref": "#theList"
},
{ "id": "4",
"title": "Team",
"ref": "#team"
},
{ "id": "5",
"title": "Contact",
"ref": "#contact"
},
];
function Navbar() {
return (
<>
<nav className= "navbar navbar-expand-lg navbar-dark fixed-top" id="mainNav">
<div className="container">
<a className="navbar-brand" href="#page-top">
<Image src="./knowledge Memo.svg" alt="..." /></a>
<button className="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu
<i className="fas fa-bars ms-1"></i>
</button>
<div className="collapse navbar-collapse" id="navbarResponsive">
<ul className="navbar-nav text-uppercase ms-auto py-4 py-lg-0">
{navbarData.map((link, idx) => {
return (
<li key={`Navbar${JSON.stringify(link)}`} data-index={idx} className="nav-item"><a className="nav-link" href={link.ref}>{link.title}</a></li>
);
})}
</ul>
</div>
</div>
</nav>
</>
);
}
export default Navbar;
index.js 组件
//import Head from 'next/head'
import Skills from '../src/components/Skills';
const Home = () => {
return (
<Skills />
);
}
export default Home;
header.js 组件
import styles from "../../styles/Home.module.scss";
const Header = () => {
return (
<header className={styles.masthead}>
<div className={styles.container}>
<div className={styles.masthead_subheading}>React Jedi Road Map</div>
<div className={styles.masthead_heading , "text-uppercase"}>this is the way!</div>
<a className="btn btn-primary btn-xl text-uppercase" href="#services">Tell Me More</a>
</div>
</header>
);
}
export default Header;
技能列表组件
import Skill from "../components/Skill";
import styles from "../../styles/Home.module.scss";
import { data } from '../../SkillData';
function SkillsList () {
return (
<div className={styles.container, "container"}>
<div className="row">
{data.map(function (skillCard) {
return (
<Skill key={skillCard.id} skillCard={skillCard} />
)
})}
</div>
</div>
)
}
export default SkillsList;
解决方案
推荐阅读
- azure - 问题将自定义域映射到 Azure Web App
- pandas - How to replace space with a digit in middle of the mobile number
- vba - Userform runtime error 380- could not set the rowsource property - fix?
- angular - Unable To Add Angular Material To Angular Custom Library
- oauth-2.0 - Spring Boot + Security OAuth2.0 Client with Custom Provider
- groovy - GEB: Disable implicit assertions in waitFor block
- c# - How to fill a wpf tree view using mvvm from a model with "infinte" levels
- c# - How to pass a plus sign in a string from a view to controller?
- c# - 我如何从这个模拟服务中获得结果?
- react-select - 聚焦时如何删除 MultiValueRemove 上的红色背景