我需要单击带有电影的卡片才能转到包含有关该电影的更多详细信息的页面。我应该如何正确地传递道具,然后在关于页面上将它们拉出来。
jsx
import React from "react";
import './homepage.scss';
import { Link } from "react-router-dom";
class Homepage extends React.Component{
constructor(props){
super(props);
this.state = {
"results" : []
}
this.getRate();
}
getRate = () =>{
fetch("https://api.themoviedb.org/3/movie/popular?api_key=6f7c9fe2b5229b4b0b6dbe66fed3ef18&language=en-US&page=1")
.then(films => {
return films.json();
})
.then(films => {
this.setState({results: films.results});
});
}
render(){
return(
<div className='homepage'>
{this.state.results.map((value, index)=>{
return(
<Link to="/about" key={index}>
<div className="filmCard" >
<div className="desc">
<h4>{value.title}</h4>
<p>{value.overview}</p>
<span>{value.release_date}</span>
</div>
</div>
</Link>
)
})}
</div>
);
}
}
export default Homepage;
多谢
您可以将必要的状态直接传递给
Link,但我建议您熟悉并使用 Redux / MobX 来存储全局状态。例子:
您可以使用 与传输的数据进行交互
this.props.location.state。工作实现示例:https ://codesandbox.io/s/adoring-microservice-5uj73 。