我使用的是react版本16.13.1。在我的project.but中,我经常使用钩子,现在甚至在我使用它之前就得到了这个错误。
export default function TourData(props) {
const [collapsed, setCollapsed] = useState();
const withinDatacollapse = props.tourWithin.slice(1);
const withinDatashow = props.tourWithin.slice(0, 1);
function handleViewAll() {
setCollapsed(!collapsed);
}
function Object(props) {
return (
<div>
{props.data &&
props.data.map((item, index) => (
<div key={index} className="within">
<div
className="image"
style={{ background: `url(${item.image})` }}
>
<div className="destination">{item.country}</div>
</div>
<div className="options">
<div>
<h5>Options</h5>
<div className="user-select">
<Select
options={item.options}
placeholder={<h4>Select Option</h4>}
/>
</div>
</div>
</div>
<div className="date-select">
<div className="user-select">
<Select
options={item.date_options}
placeholder={<h4>Select Date</h4>}
/>
</div>
</div>
<div>
<button>Go!</button>
</div>
</div>
))}
</div>
);
}
return (
<div className="route">
<div className="list-box">
<Object data={withinDatashow} />
<Collapse in={collapsed}>
<Object data={withinDatacollapse} />
</Collapse>
<div className="bottom-view-section">
<button onClick={handleViewAll}>View All</button>
</div>
</div>
</div>
);
}在这里,我刚刚声明了钩子,并得到了这个错误。我找不到哪里出了问题。
一开始,我在映射的地方有一个错误的TypeError: Cannot read property 'map' of undefined,所以我不得不在映射之前放置props.data &&。
发布于 2020-08-12 18:04:47
您不应该将组件命名为Javascript的关键字,比如对象或类。
另外,您可能希望为props.placeData定义默认值,这样当它未定义时,就不会得到错误。
export default function AppMain({placeData = [], ...props}) {或者你也可以签个名,说“没有地方”之类的话。由你决定。
https://stackoverflow.com/questions/63382186
复制相似问题