我有这样的反应+终极版应用阵营路由器链路使用参数不与componentDidMount和终极版爱可信数据的新数据刷新页面获取
我有它显示的一些电影数据,从API获取1层电影的组成部分。
因此,在底部,我决定添加一个类似的电影部分与几个组件导航到新的电影页面。
<div className="similar_movieS_container">
{ this.props.thisMovieIdDataSIMILAR.slice(0,4).map((movie,index)=>{
return(
<Link to={"/movie/"+movie.id} key={index}>
<div className="similar_movie_container">
<div className="similar_movie_img_holder">
<img src={"http://image.tmdb.org/t/p/w185/"+movie.poster_path} className="similar_movie_img" alt=""/>
</div>
</div>
</Link>
)
})
}
</div>
现在,当我在例如/toprated
根路线,我点击一个<Link to={"/movie/"+movie.id} key={index}>
我获得导航到特定的途径(例如/movie/234525
),一切工作正常,但如果我在一个/movies/{some move ID }
路线我点击一些<Link to={"/movie/"+movie.id} key={index}>
网址栏中的路线得到更新,但网页保持静止,这意味着什么也没有改变,如果我重新加载页面与新的路线,新的movieID数据显示...
这是我的应用程序.js
<BrowserRouter>
<Switch>
<Route path='/' exact component={Home} />
<Route path='/discover' exact component={Discover} />
<Route path='/toprated' exact component={TopMovies} />
<Route path='/upcoming' exact component={Upcoming} />
<Route path='/movie/:movieId' exact component={()=><Movie/>} />
</Switch>
</BrowserRouter>
和的Movie.jsx组件
...
componentDidMount() {
window.scroll(0, 0);
this.movieID = parseInt(window.location.href.split("/")[window.location.href.split("/").length-1]);
this.props.getMovieInfo(this.movieID);
this.props.getMovie_YOUTUBE(this.movieID);
this.props.getMovie_SIMILAR(this.movieID);
}
...
的componentDdidMount那么,怎样才能使一个导航到一个新的/movie/{movieID}
FOMR一个/movie/{movieID}
?
如果我申请你在这里建议的修改,没有数据获取的页面加载..我能做些什么? –
你不需要替换componentDidMount函数,但添加componentWillReceiveProps函数 –
我设法使它与componentWillReceiveProps一起工作正常,但还有一件事是困扰着我...当我导航到新的/电影/电影ID路由器,我想回去我需要点击后退按钮两次?为什么是这样,有什么想法? –