如何在 React 中 Link 到另一个页面?
How To Link To Another Page in React?
我正在尝试做的事情: 我正在尝试让我的 React Web-App NavBar link 到我应用程序中的其他页面。
我试过的:
- 在我的 App.js 文件中,我设置了 React-Router-Dom,如您所见。
- 我还在我的 NavBar
中插入了 links
- 现在,我在本地服务器上查看站点时遇到问题。 (见截图)
这是 App.js
的代码
import React from "react"
import NavBar from "./NavBar"
import Dashboard from "./Dashboard"
import {BrowserRouter as Router, Switch, Route} from "react-router-dom";
function App() {
return (
<Router>
<div>
<NavBar />
<Route path="/dashboard" component={Dashboard} />
</div>
</Router>
)
}
export default App
这是导航栏的代码
import React from "react"
import "./Style.css"
import { link } from 'react-router-dom'
class NavBar extends React.Component {
render() { return (
<nav>
<h1 className="h1">Hello</h1>
<ul>
<link to={"./Dashboard"}>
<li>Dashboard</li>
</link>
</ul>
</nav>
)
}
}
export default NavBar
错误截图如下:
enter image description here
Link 组件在 import 和 JSX 中都必须以大写字母 L 开头。
import { Link } from 'react-router-dom'
<Link to={"./Dashboard"}>
Dashboard
</Link>
在 https://reactrouter.com/web/api/Link 阅读更多内容,也有一些示例。
顺便说一句:Link 应该在 li
里面
您使用 link 的方式不对
import {Link} from "react-router-dom";
<Link to="/Dashboard"> Dashboard </Link>
使用它,看看它是否有效
在 app.js 文件中:如下所示添加 Switch Router 并将确切的词添加到路由
return (
<Router>
<div>
<NavBar />
<Switch>
<Route exact path="/dashboard" component={Dashboard} />
</Switch>
</div>
</Router>
)
导出默认应用程序
在导航栏文件中:根据需要进行更改
return (
<nav>
<h1 className="h1">Hello</h1>
<ul>
<li><link to="/dashboard">Dashboard<link></li>
</ul>
</nav>
)
注意:它不是 /Dashboard 而是你提到的路线中的 /dashboard
导出默认导航栏
在App.js中,使用
<main>
<Switch>
<Route exact path="/" component={HomeScreen}/>
<Route exact path="/product/:id" component={ProductScreen}/>
<Route exact path="/cart" component={CartScreen}/>
</Switch>
</main>
我正在尝试做的事情: 我正在尝试让我的 React Web-App NavBar link 到我应用程序中的其他页面。
我试过的:
- 在我的 App.js 文件中,我设置了 React-Router-Dom,如您所见。
- 我还在我的 NavBar 中插入了 links
- 现在,我在本地服务器上查看站点时遇到问题。 (见截图)
这是 App.js
的代码import React from "react"
import NavBar from "./NavBar"
import Dashboard from "./Dashboard"
import {BrowserRouter as Router, Switch, Route} from "react-router-dom";
function App() {
return (
<Router>
<div>
<NavBar />
<Route path="/dashboard" component={Dashboard} />
</div>
</Router>
)
}
export default App
这是导航栏的代码
import React from "react"
import "./Style.css"
import { link } from 'react-router-dom'
class NavBar extends React.Component {
render() { return (
<nav>
<h1 className="h1">Hello</h1>
<ul>
<link to={"./Dashboard"}>
<li>Dashboard</li>
</link>
</ul>
</nav>
)
}
}
export default NavBar
错误截图如下: enter image description here
Link 组件在 import 和 JSX 中都必须以大写字母 L 开头。
import { Link } from 'react-router-dom'
<Link to={"./Dashboard"}>
Dashboard
</Link>
在 https://reactrouter.com/web/api/Link 阅读更多内容,也有一些示例。
顺便说一句:Link 应该在 li
里面您使用 link 的方式不对
import {Link} from "react-router-dom";
<Link to="/Dashboard"> Dashboard </Link>
使用它,看看它是否有效
在 app.js 文件中:如下所示添加 Switch Router 并将确切的词添加到路由
return (
<Router>
<div>
<NavBar />
<Switch>
<Route exact path="/dashboard" component={Dashboard} />
</Switch>
</div>
</Router>
)
导出默认应用程序
在导航栏文件中:根据需要进行更改
return (
<nav>
<h1 className="h1">Hello</h1>
<ul>
<li><link to="/dashboard">Dashboard<link></li>
</ul>
</nav>
)
注意:它不是 /Dashboard 而是你提到的路线中的 /dashboard
导出默认导航栏
在App.js中,使用
<main>
<Switch>
<Route exact path="/" component={HomeScreen}/>
<Route exact path="/product/:id" component={ProductScreen}/>
<Route exact path="/cart" component={CartScreen}/>
</Switch>
</main>