【发布时间】:2021-05-30 12:27:53
【问题描述】:
我有 2 个类组件,当它们分开时两者都可以正常工作,但是当我尝试将它们相互链接时,我收到一个错误,该错误不是实际错误,而是一个空页面。
我的 2 个组件:
- ComponentA(完全独立工作)
- NewComponentB(完全独立工作)
这是我的代码:
import {HashRouter as Router, Route, Switch} from 'react-router-dom';
import {Button} from 'react-bootstrap';
export default class ComponentA extends React.props{
constructor(props){
super(props);
}
handleCreateComponent = () =>{
this.props.history.push('/api/pages/components/new');
return(<Redirect to={NewComponentB} />);
}
render(){
return(
<div className="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center py-4">
<div className="d-block mb-4 mb-md-0">
<Switch>
<Button id="myButton" onClick={this.handleCreateComponent}>+</Button>
<Route path="/api/pages/components/new" component={NewComponentB} />
</Switch>
</div>
</div>
);
}
}
我的问题: 我希望当用户单击 id="myButton" 的按钮时,导航到位于 "/api/pages/components/new" 的另一个页面?
会发生什么: 它导航到链接,但页面是空的。
我收到以下警告:
警告:哈希历史不能推送相同的路径;新条目不会被添加到历史堆栈中
【问题讨论】:
-
为什么要从 onClick 处理程序返回一个重定向组件?你试过删除那条线吗?这对我来说没有任何意义。编辑:Eww,类组件
标签: javascript reactjs react-redux react-router react-hooks