0
我想在我的React Web應用程序中實現基本過濾選項。我有三個組成部分GraphQL查詢不會在響應路由器v4上更新歷史記錄推送
VideoList
--------------------------
Filter Result
-------- ----------------
category
的Filter
組件和組件Result
是VideoList
組件的兩個孩子。在filter
組件中,當用戶點擊該類別時,我正在推送一個新的url,如this.props.history.push(
/videos/${category.name} )
。似乎我的react-router
設置正常工作,並且VideoList
組件獲取新的類別名稱,併成功將其傳遞給Result
組件。
<Route exact path="/videos" component={VideoList}/>,
<Route exact path="/videos/:category" render={props => <VideoList {...props} />} />,
在VideoLIst
組件
<Result category={category} />
的Result
組件使一個新的類別名稱的使用在自己的GraphQL查詢如下:
export default compose(
graphql(VIDEOS_QUERY, {
options: props => {
return {
variables: {
filterByCategory: props.category ? props.category : null,
}
};
},
...
但是,一些未知我第一次推新網址時的原因props.data.VideoQuery
(這是從graphql ser返回的值ver)中的Result
組件得到undefined
。但是,當用戶第二次點擊category
時,Result
組件呈現正確。