![](/img/trans.png)
[英]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.