首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:不变失败:当我尝试使用本地主机测试我的应用程序时,不应该在<Router>之外使用<Router>。

错误:不变失败:当我尝试使用本地主机测试我的应用程序时,不应该在<Router>之外使用<Router>。
EN

Stack Overflow用户
提问于 2021-07-14 09:04:09
回答 1查看 1.4K关注 0票数 1

当我尝试在localhost上测试我的应用程序时,我遇到了一个错误:在路由器中的3000,我如何修复它?我是一个新手,在React & React路由器中,什么样的问题会导致这种情况。

App.js:

代码语言:javascript
复制
import { NavBar } from "./shared/NavBar"
import { Switch, Route } from "react-router-dom";
import { BooksList } from "./BooksList";
import { CreateBook } from "./CreateBook";
import { UpdateBook } from "./UpdateBook";

function App() {
    return (
        <>
            <NavBar />
            <Switch>
                <Route path="/create-book">
                    <CreateBook />
                </Route>
                <Route path="/update-book">
                    <UpdateBook />
                </Route>
                <Route path="/">
                    <BooksList />
                </Route>
            </Switch>
        </>
    );
}

export default App;

NavBar组件:

代码语言:javascript
复制
import { Flex, Image, Box, Link as StyledLink } from "rebass/styled-components";
import { Link } from "react-router-dom";

export const NavBar = () => {
    return (
        <Flex bg="black" color="white" justifyContent="center">
                <Flex px={2} width="100%" alignItems="center">
                    <Link component={StyledLink} variant="nav" to="/">
                        React CRUD App
                    </Link>
                    <Box mx="auto" />
                        <Link component={StyledLink} variant="nav" to="/create-book">
                            Add new item
                        </Link>
                </Flex>
        </Flex>
    )
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-07-14 09:09:54

将路由打包到BrowserRouter

导入

代码语言:javascript
复制
import { BrowserRouter as Router, Switch, Route } from "react-router-dom";

包装路线

代码语言:javascript
复制
function App() {
    return (
        <Router>
           <div>
            <NavBar />
            <Switch>
                <Route path="/create-book">
                    <CreateBook />
                </Route>
                <Route path="/update-book">
                    <UpdateBook />
                </Route>
                <Route path="/">
                    <BooksList />
                </Route>
            </Switch>
           </div>
        </Router>
    );
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68375104

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档