【发布时间】:2020-12-16 03:47:12
【问题描述】:
我在 React 中工作。我创建了一个按钮,单击该按钮应将用户引导至新页面。我制作了一个组件 About 并也将其导入。 我创建了一个函数 routeChange ,它将在单击按钮时定向到新页面。但是当单击按钮时,我没有被定向到任何页面。
相反,我得到一个错误。
文件夹可能没有任何错误。
我将关于组件导入为:
import React from 'react';
import {Navbar,NavbarBrand, Jumbotron, Button} from 'reactstrap';
import './App.css';
import Description from './Description';
import './description.css';
import {useHistory,withRouter} from "react-router-dom";
import About from './About';
function App() {
const history=useHistory();
routeChange = () =>{
this.history.push('/About');
}
return (
<withRouter>
<Navbar color="dark">
<div className="container">
<NavbarBrand className="navbar-brand abs" href="/">
Cheat Sheet
</NavbarBrand>
</div>
</Navbar>
<Jumbotron>
<p className="lead">Quick Review ,Revision And Mnemonic Are Always Good</p>
<hr my-2/>
<p className="lead">Page is still under Construction</p>
<Button onClick={routeChange} className="About"color="primary">About Us</Button>
</Jumbotron>
<div className="img-thumbnail">
<Description/>
</div>
<div className="footer">
©Abhilekh Gautam all right reserved.
<p>Follow<a rel="noopener noreferrer"href="https://www.quora.com/profile/Abhilekh-Gautam-1" target="_blank">Abhilekh Gautam</a> On quora</p>
</div>
</withRouter>
)
}
导出默认应用;
【问题讨论】:
-
您在关闭
Jumbotron时出现拼写错误,它以小写jumbotron关闭并且Router与结束标记不匹配 -
不,不,我只是将代码提供给按钮元素
-
请提供您机器上的代码以避免混淆
-
你的
btnclick函数没有意义。它不能返回一个元素,而你的函数实际上是在返回一个函数,该函数返回一个包含在对象中的元素。 -
如果您想要一个新页面,请使用链接。您不能只将某些内容返回给事件处理程序触发器。
标签: reactjs react-router