Cri*_*alu 1 javascript arrays reactjs
我有2个数组:all_games和owned_games.
我希望显示所有游戏,并在每个游戏旁边:
- 如果它是owned显示所有
- 如果它not owned显示价格
电流输出:
1 - 10.00
2 - 10.00
3 - 10.00
DesiredOutput:
1 - 拥有
2 - 拥有
3 - 10.00
render() {
let renderPriceSection
let renderOwned = <span>Owned</span>
let renderPrice = <span>10.00</span>
let all_games = [{ "game_id": 1 }, { "game_id": 2 }, { "game_id": 3 }]
let owned_games = [{ "game_id": 1 }, { "game_id": 2 }]
all_games.map((game) => {
owned_games.map((owned_game) => {
owned_game.game_id === game.game_id ?
renderPriceSection = renderOwned :
renderPriceSection = renderPrice
})
})
return (
<div>
{all_games.map((game)=>{
return(
<p>
{game.game_id} - {renderPriceSection}
</p>
)
})}
</div>
)
}
Run Code Online (Sandbox Code Playgroud)
你没有设置renderPriceSection游戏.您将它保存在单个变量中.所以每场比赛都会有相同的renderPriceSection.
您应该为每个游戏添加一个属性并保留其价格部分
all_games.map((game) => {
game.renderPriceSection = owned_games.find((owned_game) => owned_game.game_id === game.game_id) !== undefined ? renderOwned : renderPrice;
})
Run Code Online (Sandbox Code Playgroud)
然后在return语句中,您将从游戏中获得此属性
return (
<div>
{all_games.map((game)=>{
return(
<p>
{game.game_id} - {game.renderPriceSection}
</p>
)
})}
</div>
)
Run Code Online (Sandbox Code Playgroud)
请参阅编辑过的CodePen
| 归档时间: |
|
| 查看次数: |
68 次 |
| 最近记录: |