[英]Expected an assignment or function call and instead saw an expression no-unused-expressions when trying to make a component using react
[英]Getting Expected an assignment or function call and instead saw an expression no-unused-expressions error when trying to render a component in React
我正在嘗試根據items
對象中的items
數呈現Card
組件,但在第 6 行出現錯誤。
import React from "react";
export class Cards extends React.Component {
render() {
let elements = [];
elements = this.props.items.map(item => {
<Card titles = {item.title} imgsrc = {item.urlToImage}
discr = {item.description} urls = {item.url}
/>
})
return (
{elements}
);
}
}
這是Card
組件:
import React from 'react'
export default ({titles, imgsrc, urls, discr}) => {
return (
<div className="cards">
<div className="card">
<div className="cardHead">
<h4>{titles}</h4>
</div>
<div className="cardBody">
<img src={imgsrc} alt="pst-img" />
</div>
<div className="cardFooter">
<p>{discr}</p>
<a className="buttn" href={urls}>
<button>Read More</button>
</a>
</div>
</div>
</div>
)
}
您沒有在.map
返回 JSX,您需要這樣做:
import React from "react";
export class Cards extends React.Component {
render() {
let elements = [];
elements = this.props.items.map(item => {
return <Card titles = {item.title} imgsrc = {item.urlToImage}
discr = {item.description} urls = {item.url}
/>
})
return (
{elements}
);
}
}
或者以更清潔的方式:
import React from "react";
export class Cards extends React.Component {
render() {
return (
{this.props.items.map(item => {
return <Card titles = {item.title} imgsrc = {item.urlToImage}
discr = {item.description} urls = {item.url}
/>
})}
);
}
}
作為第一個答案,您需要在map()
返回 JSX
或者在map()
使用( )
而不是{}
像這樣
import React from "react";
export class Cards extends React.Component {
render() {
return (
{this.props.items.map(item => (
return <Card titles = {item.title} imgsrc = {item.urlToImage}
discr = {item.description} urls = {item.url}
/>
))}
);
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.