如何根据路径更改组件的某些状态属性。所以,目前我有一个组件,我已经定义了一个状态属性 showNotebook = true
super(props);
this.state = {
showNotebook: true,
flipper: true,
deleteModalOpen: false
}
我正在使用react-router,我有这样的路线
<Route path='/submission/:id' component={SubmissionContainer}/>
所以现在我希望如果有人去路线
/submission/:id#comment.id=xyzz
它应显示与上面相同的组件,但属性 showNotebook设置为false ,以便它具有所需更改的相同组件。
我知道此前有类似的问题,但无法找到问题的确切解决方案。所以请事先道歉。
答案 0 :(得分:0)
您只需检查路由器props中的位置路径名,是否存在id
查询参数,然后使用某种逻辑设置状态,如下所示:
this.state = {
showNotebook: () => {
if (this.props.location.pathname === '/submission' && this.props.location.search)
return false;
return true;
}
...
}