【发布时间】:2021-12-22 04:07:34
【问题描述】:
我正在重建一个静态网站,该网站在卡片上显示电影,点击这些卡片后,会出现相应的电影模式,就像在我的静态网站 https://movie-list-website-wt.netlify.app/ 中一样,但我似乎无法理解如何使按钮和功能在反应中打开模态
import React from "react";
const IMG_URL = 'https://image.tmdb.org/t/p/w500';
function getColor(vote) {
if(vote >= 8){
return 'green'
}else if (vote >= 5){
return 'orange'
}else{
return 'red'
}
}
function Movies ({title, id, poster_path, overview, vote_average, release_date}) {
return (
<div className="movie-modal-container">
<div className="movie">
<button id={`myBtn${id}`} className="myBtn">
<img src={IMG_URL+poster_path} alt={title}/>
<div className="movie-info">
<h3>{title}</h3>
<span className={getColor(vote_average)}>{vote_average}</span>
</div>
<div className="overview">
<div className="overview-header">
<h3>Overview</h3>
<div className="addBtn">
<i class="fas fa-plus"></i>
</div>
</div>
<p>{overview}</p>
</div>
</button>
</div>
<div className="modal" id={`myModal${id}`}>
<div className="modal-content">
<span id={"close"+id}><i class="fas fa-times"></i></span>
<div className="modal-poster">
<img src={IMG_URL+poster_path} alt={title}/>
</div>
<div className="modal-info">
<h2>{title}</h2>
<span>{vote_average}/10</span>
<h3 className="releasedate">Release Date</h3>
<p>{release_date}</p>
<h3>Overview</h3>
<p className="modal-overview">{overview}</p>
</div>
</div>
</div>
</div>
);
}
export default Movies;
我想要的行为是当我点击已经包装为按钮的卡片时,会出现相应的电影模式
【问题讨论】:
-
你能创建一个codesandbox吗?
-
在按钮中使用
onClick并传递一个函数来接收id并使用相应的逻辑,我在你的静态页面中看到是通过改变显示来完成的。 -
@Woohaik 你能告诉我这是怎么做的吗?我试着自己做,但它似乎不起作用
-
@lost_in_magento codesandbox.io/s/gracious-mclean-cbs8g
-
codesandbox.io/s/hungry-lumiere-90d3p?file=/src/App.js我已经改变了基本骨架单独移动了模态处理
标签: javascript html css reactjs button