【发布时间】:2021-12-22 11:45:02
【问题描述】:
我有一个使用地图功能在页面上呈现的组件网格,我只想在单击它后呈现该组件及其所有详细信息,并且只设法得到一个错误提示:
Uncaught TypeError: Cannot read properties of undefined (reading 'logo')
我是 React 新手,不知道为什么会这样。
我们将不胜感激!
这是我的代码:
正文组件-(父组件)
import { useState } from "react";
import CompanyList from "./CompanyList";
import Company from "./Company";
const Body = ({ companies }) => {
const [viewCompany, setViewCompany] = useState(false);
const showCompanyHandler = (company) => {
console.log("Clicked on company card");
setViewCompany(true);
};
return (
<div className="appBody">
<CompanyList
companies={companies}
showCompanyHandler={showCompanyHandler}
/>
{viewCompany && <Company />}
</div>
);
};
export default Body;
CompanyList 组件(Body 的子级)
import Company from "./Company";
const CompanyList = ({ companies, showCompanyHandler }) => {
return (
<div className="companyList">
{companies.map((company) => (
<Company
key={company.id}
company={company}
showCompanyHandler={showCompanyHandler}
/>
))}
</div>
);
};
export default CompanyList;
公司组件(CompanyList 的子组件) - 我要在页面上显示的组件
const Company = ({ company, showCompanyHandler }) => {
return (
<div className="company" onClick={(company) => showCompanyHandler(company)}>
{console.log(company)}
<img src={company.logo} alt="logo" />
<h1>{company.name}</h1>
<p>{company.companyDescription}</p>
</div>
);
};
export default Company;
我不确定我在这里缺少什么......
【问题讨论】:
标签: javascript reactjs components