【发布时间】:2020-01-13 07:00:23
【问题描述】:
所以我有一个应用程序组件,我在其中向 API 发送请求,然后我将单个游戏作为对象返回。然后我将它们设置为“游戏”数组并将它们呈现在 App 组件中 - 它以这种方式工作。
const searchResult = games.map(game => {
return <GameItem game={game} key={game.id}></GameItem>;
});
return (
<div className='container'>
<div className='header'>
<Logo />
<Navbar />
<Search
click={onClickHandler}
search={searchInput}
searchInput={handleSearchInput}
/>
</div>
{loading ? <Loading /> : searchResult}
</div>
);
当我试图将此 searchResult 提取到一个名为 Games 的新组件中时,问题就出现了。
import React from 'react';
import GameItem from './GameItem';
const Games = props => {
return (
<div>
{props.games.map(game => {
<GameItem game={game} key={game.id}/>
})}
</div>
)
}
export default Games;
然后在 App.js 更改这一行
{loading ? <Loading /> : <Games games={games}/>}
我尝试了几种在 Games 组件中返回此表达式的方法,但它总是向我抛出该错误。
Line 8: Expected an assignment or function call and instead saw an expression no-unused-expressions
您有什么想法可以将其提取到新组件中并使其工作吗?
【问题讨论】:
-
您忘记了地图中的回报。
return <GameItem game={game} key={game.id}/> -
或者如果它是一个只有一个表达式的箭头函数,就去掉 { 和 }
-
谢谢你们。我完全忘记了返回 map 方法。终于设法让它工作:)
标签: reactjs function variable-assignment