#reactjs #hyperlink #routes #router
#reactjs #гиперссылка #маршруты #маршрутизатор
Вопрос:
Я работаю над калькулятором выхода на пенсию. У него есть навигационный компонент со ссылками, я установил маршрутизатор с путями в App.js . Но navlinks не работают. Я не уверен, что не так с кодом. Пожалуйста, помогите, я новичок в reactjs
App.js
import logo from './logo.svg';
import './App.css';
import InputForm from './InputForm';
import Navigation from './Navigation';
import 'bootstrap/dist/css/bootstrap.min.css';
import { BrowserRouter, Route, Switch } from 'react-router-dom';
import DisplayTable from './DisplayTable';
import RetirementComaparisionForm from './RetirementComparisionForm';
function App() {
return (
<BrowserRouter>
<div className="App">
<Navigation />
<Switch>
<Route exact path = "/" component = {InputForm}></Route>
<Route exact path = "/retirementcomaparisionform" component = {RetirementComaparisionForm}></Route>
</Switch>
</div>
</BrowserRouter>
);
}
export default App;
Navigation.js
import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import reportWebVitals from './reportWebVitals';
import DisplayTable from './DisplayTable';
import {NavLink} from 'react-router-dom';
import {Navbar, Nav} from 'react-bootstrap';
class Navigation extends React.Component{
render(){
return(
<Navbar bg="dark" expand="lg" variant = "dark">
<Navbar.Brand>Retirement Calculator</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<Nav.Link to = "/">Home</Nav.Link>
<Nav.Link to = "/retirementcomaparisionform">Compare</Nav.Link>
</Nav>
</Navbar.Collapse>
</Navbar>
)
}
}
export default Navigation;
Комментарии:
1. Можете ли вы показать, где вы создаете
navlink
‘s?2. Navigarion.js имеет навигационные ссылки во второй части приведенного выше кода
Ответ №1:
Вот рабочий пример: StackBlitz
import React from "react";
import ReactDOM from "react-dom";
import reportWebVitals from "./reportWebVitals";
import DisplayTable from "./DisplayTable";
import { NavLink, Link } from "react-router-dom";
import { Navbar, Nav } from "react-bootstrap";
import "bootstrap/dist/css/bootstrap.min.css";
import { BrowserRouter, Route, Switch } from "react-router-dom";
function App() {
return (
<BrowserRouter>
<div className="App">
<Navigation />
<Switch>
<Route exact path="/" component={InputForm} />
<Route
path="/retirementcomaparisionform"
component={RetirementComaparisionForm}
/>
</Switch>
</div>
</BrowserRouter>
);
}
export default App;
class Navigation extends React.Component {
render() {
return (
<Navbar bg="dark" expand="lg" variant="dark">
<Navbar.Brand>Retirement Calculator</Navbar.Brand>
<Navbar.Toggle aria-controls="basic-navbar-nav" />
<Navbar.Collapse id="basic-navbar-nav">
<Nav className="mr-auto">
<Nav.Link href="/">Home</Nav.Link>
<Nav.Link href="/retirementcomaparisionform">Compare</Nav.Link>
</Nav>
</Navbar.Collapse>
</Navbar>
);
}
}
//dummy InputForm and RetirementComaparisionForm components
const InputForm = () => {
return <h1>Input Form</h1>;
};
const RetirementComaparisionForm = () => {
return <h1>Retirement Comaparision Form</h1>;
};
Комментарии:
1. Спасибо за код, попробовал, но он не отображает ссылки
2. Большое вам спасибо. Это сработало. Но что было не так с моим кодом?
3. Вы используете prop
to
вместоhref
insideNav.Link
.