首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >更新“not”但不加载路径

更新“not”但不加载路径
EN

Stack Overflow用户
提问于 2019-11-02 22:10:31
回答 2查看 137关注 0票数 1

纳瓦尔路线不工作了。

我有一个navbar component,它充当菜单栏。此navbar component路由到About component。我还有一个Route.js,在这里我为应用程序的其余部分实现了路由。Route.js是我加载Navbar component的地方。

它正在更新URL,但不加载路径。

完整的代码可以在这里找到:

Navbar component

代码语言:javascript
运行
AI代码解释
复制
import React, { Fragment } from 'react'
import {
    BrowserRouter as Router,
    Route,
    Link,
} from "react-router-dom";

import { makeStyles } from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import Divider from '@material-ui/core/Divider';

import About from '../pages/About';

const useStyles = makeStyles({
    hr: {
        width: '0.5px',
        height: '25px',
        backgroundColor: '#fff',
        margin: '0px 10px',
    },
    a: {
        color: '#ffffff',
        cursor: 'pointer',
        textDecoration: 'none',
    },
});

const Navbar = () => {
    const classes = useStyles();
    return (
        <Fragment>
            <Router>
                <AppBar position="static" width='100%'>
                    <Toolbar>
                        <Typography variant="h6" >
                            <Link to='/' className={classes.a}> Todo List Application </Link>
                        </Typography>
                        <Divider orientation="vertical" className={classes.hr} />
                        <Link to='../pages/About.js' className={classes.a}>
                            About
                        </Link>
                    </Toolbar>
                </AppBar>
                <Route path="/about.js" component={About}>
                    <About />
                </Route>
            </Router>
        </Fragment>
    );
}

export default Navbar;

这个AppRouter加载在App.js中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-11-02 23:04:44

我克隆了你的项目并运行了它。

更新的Navbar.js,(从AppBar中删除了封闭的路由器,从Navbar组件中删除了路由声明)

代码语言:javascript
运行
AI代码解释
复制
import React, { Fragment } from 'react'
import { BrowserRouter as Router, Route, Link} from "react-router-dom";

import { makeStyles } from '@material-ui/core/styles';
import AppBar from '@material-ui/core/AppBar';
import Toolbar from '@material-ui/core/Toolbar';
import Typography from '@material-ui/core/Typography';
import Divider from '@material-ui/core/Divider';

import About from '../pages/About';

const useStyles = makeStyles({
    hr: {
        width: '0.5px',
        height: '25px',
        backgroundColor: '#fff',
        margin: '0px 10px',
    },
    a: {
        color: '#ffffff',
        cursor: 'pointer',
        textDecoration: 'none',
    },
});

const Navbar = () => {
    const classes = useStyles();
    return (
        <Fragment>

                <AppBar position="static" width='100%'>
                    <Toolbar>
                        <Typography variant="h6" >
                            <Link to='/' className={classes.a}> Todo List Application </Link>
                        </Typography>
                        <Divider orientation="vertical" className={classes.hr} />
                        <Link to='/about' className={classes.a}>
                            About
                        </Link>
                    </Toolbar>
                </AppBar>

        </Fragment>
    );
}

export default Navbar;

更新的src/Switch/index.js(在这里添加了关于路由的内容,并使用开关将路由封装起来)

代码语言:javascript
运行
AI代码解释
复制
import React from "react";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import TrelloBoard from "../components/TrelloBoard";
import Home from "../components/Home";
import Navbar from "../components/navbar/Navbar";
import About from "../components/pages/About";

const AppRouter = () => {
    return (

        <Router>
            <div>
                <Navbar></Navbar>
                <Switch>
                    <Route path="/about" component={About} />
                    <Route path="/:boardID" component={TrelloBoard} />
                    <Route path="/" exact component={Home} />
                </Switch>
            </div>
        </Router>
    );
};

export default AppRouter;

我认为上述的改变如你所期望的那样有效。

票数 1
EN

Stack Overflow用户

发布于 2019-11-02 22:27:16

<Link>组件需要一个参数to,它是路由器中定义<Route>的定义url。

在您的示例中,它的接缝就像您试图使用相对路径访问js文件一样,但这不是反应性路由器-dom的工作方式。

试着用:

代码语言:javascript
运行
AI代码解释
复制
<Link to='/about' className={classes.a}>

并确保你的你的你有相同的路线定义:

代码语言:javascript
运行
AI代码解释
复制
<Switch>
    <Route exact path="/" component={Home}>
    <Route path="/about">
        <About />
    </Route>
</Switch>

<Switch>查看其所有子元素,并呈现路径与当前URL匹配的第一个元素。使用任意时间您有多个路由,但您希望每次只呈现其中一个路由。

您可以在反应性路由器基本文档上看到一个完整的工作示例,它运行这个沙盒

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58677832

复制
相关文章
预加载JavaScript/CSS但不执行
好吧,一个方案一个方案来分析一下(要求是不允许执行Javascript和应用CSS,以免消耗系统资源):
meteoric
2018/11/15
2K0
Vue Router的懒加载路径
单页应用产出的入口chunk大小随着业务的复杂度线性增加,导致后期加载速度越来越慢。后面就需要对不同路径下的模块进行拆分,打包到相应的chunk下,按需加载,找到chunk的大小、个数和页面加载速度的平衡点。 解决办法 .vue模块文件按需加载,其实要做到两件事情:一是标记出这是一个异步组件;二是通知webpack把该组件单独产出为一个chunk。 vue的异步组件 官网给出的异步组件写法:异步组件是一个函数,函数的返回值是一个Promise,只是Promise的resolve函数的参数是常规组件的定
用户1217459
2018/07/05
1.3K0
erlang代码加载路径的设置
1,启动erlang shell,输入命令init:get_argument(home).
用户4766018
2022/08/19
7810
java获取服务器路径和类加载路径
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/157275.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/15
1.8K0
Echarts异步加载和更新
实现异步数据的更新非常简单,在图表初始化后不管任何时候只要通过 jQuery 等工具异步获取数据后通过 setOption 填入数据和配置项就行。
别团等shy哥发育
2023/02/25
9630
Echarts异步加载和更新
linux 动态库加载_linux默认动态库加载路径
当我们在linux系统引用动态库时,经常会遇到一个问题,加入我们需要的动态库没有在系统的默认目录下,我们编译时使用-L指定了动态库的路径,编译时没有问题,但是执行调用该动态库的可执行文件时,却提示找不到动态库。下面我将以一个简单的例子来,复现这个问题和解决这个问题的办法。
全栈程序员站长
2022/11/10
12.2K0
linux 动态库加载_linux默认动态库加载路径
类加载器获取文件路径相关
 配置文件被我们移动到com.hcg.jdbc包下后,代码不变,再运行会报错 Could not initialize class xxx
HCG_Sky
2022/04/11
1.8K0
类加载器获取文件路径相关
jsp页面有关路径加载问题
chao超的搬运文章
2023/10/15
3610
jsp页面有关路径加载问题
H5加载Android本地路径图片
原生回传H5本地图片地址仅支持H5资源放置到项目/手机存储中使用 H5资源放置到服务器后无法读取插件返回的Android本地路径 要求(原生): 1. H5资源需放置到App项目assets目录/手机存储 使用到依赖Lrz(Js简化读取) 1. Lrz支持传入的内容为File对象/图片本地路径/图片网络路径 2. Lrz主要在Js中用于对图片压缩,可通过参数调整为不压缩 Js使用样例 1. 布局 <!-- 布局使用vant中的Dialog --> <van-dialog v-model="show
前端小鑫同学
2022/12/24
1.6K0
小程序加载本地图片路径问题
第一种图片路径:icon图片文件夹和pages文件夹同级 路径1 第二种图片路径:图片文件夹在pages文件夹内 路径2 第三种tabbar图片路径: 路径3 总结:主要看是否同级,../代表一级
honey缘木鱼
2018/08/10
1.6K0
小程序加载本地图片路径问题
【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )
插件化应用中 , 宿主应用 加载 插件 APK , 需要获取该插件 APK 文件路径 , 可以在 Assets 资源目录 , 也可以在 Android 内置存储 或 SD 卡存储控件中 ;
韩曙亮
2023/03/29
8590
【Android 插件化】基于插件化的恶意软件的加载策略分析 ( 自定义路径加载插件 | 系统路径加载插件 | 用户同意后加载插件 | 隐藏恶意插件 )
Java中获取类加载路径和项目根路径的5种方法
https://www.cnblogs.com/franson-2016/p/6163422.html
XING辋
2019/03/26
6.1K0
python中的热更新或动态加载
遍览网络中关于动态加载模块的文章,发现有两种方法,一种是用守护进程的方法,一种是用python自带的reload函数。
py3study
2020/01/08
1.4K0
JDK21更新内容:动态加载禁用
动态加载代理禁用准备(Prepare to Disallow the Dynamic Loading of Agents)是一个Java增强提案,其目标是在JVM中禁止动态加载代理。代理是一种能够修改或监视应用程序行为的机制,它可以通过字节码注入来实现。
程序员朱永胜
2023/09/25
1.1K0
JS框架设计之加载器所在路径的探知一模块加载系统
1、要加载一个模块,我们需要一个URL作为加载地址,一个script作为加载媒介,但用户在require是都用ID,我们需要一个将ID转换为URL的方法,思路很简单,强加个约定,URL的合成规则是为: basepath+模块ID+".js" 2、当浏览器自上而下分析DOM,在浏览器解析我们的Javascript文件时(指的是加载器文件)时,他就肯定是DOM树最后一个加入的script标签,因此有下面的方法: zcLoadJs.js function getBasePath() { var nodes
郑小超.
2018/01/24
1.1K0
Windows平台LoadLibrary加载动态库搜索路径的问题
在给Adobe Premiere/After Effects等后期制作软件开发第三方插件的时候,我们总希望插件依赖的动态库能够脱离插件的位置,单独存储到另外一个地方。这样一方面可以与其他程序共享这些动态库,还能保证插件安装时非常的清爽。就Adobe Premiere Pro/After Effects来说,插件文件是放到C:\Program Files\Adobe\Common\Plug-ins\7.0\MediaCore(Windows平台)的。这个是PremierePro和AfterEffects的公共插件目录,二者在启动的时候都会尝试去这个位置加载插件。与此同时,我们希望自己开发的插件所依赖的动态库放到另外的位置,另外也希望插件显示链接的动态库能够尽量少。因为如果是显式链接的话,这些插件依赖的动态库必须和插件保存在同一个位置。不然插件找不到这些依赖文件就会加载失败的。当然,我们也可以在环境变量里面增加一条路径,但是这容易污染环境变量,或者与其他的程序库产生冲突。LoadLibrary在这个时候就产生作用了。LoadLibrary通过将指定路径的动态库加载到当前的调用进程,然后获取其导出的函数就可以正常使用了。对于像第三方插件这样的应用场景,LoadLibrary可以说是个不错的实现方式。但是正因此也有个弊端,我们无法使用工具得知其的依赖库。
24K纯开源
2019/11/23
4.9K1
js的动态加载、缓存、更新以及复用(四)
  本来想一气呵成,把加载的过程都写了,但是卡着呢,所以只好在分成两份了。   1、页面里使用<script>来加载 boot.js 。   2、然后在boot.js里面动态加载 bootLoad.js。以时间作为标识 var dateVer = date.getYear() + '_' + date.getMonth() + '_' + date.getDate() + '_' + date.getHours(); 这样可以保证一小时内肯定会被更新。同时也避免了每次都去更新。   3、boot.js里面根
用户1174620
2018/02/08
7K0
js的动态加载、缓存、更新以及复用(四)
js的动态加载、缓存、更新以及复用(三)
总体思路 1、  建立一个js服务,该服务实现通用js文件的加载、依赖、缓存、更新以及复用。 2、  各个项目如果使用通用js,可(bi)以(xu)使用js服务实现加载。 3、  Js服务只提供通用的js,比如jQuery、my97、easyUI等(可根据实际情况设定具体的js文件)。 4、  其他针对特点需求写的js文件,需要自己写代码加载。Js服务可以提供加载用函数。(正在考虑要不要使用sea.js) 5、  Js服务加载的js文件,不需要做任何修改。当然也不负责各个文件里的函数名称是否冲突。   Se
用户1174620
2018/02/08
6.5K0
js的动态加载、缓存、更新以及复用(三)
点击加载更多

相似问题

图像加载但不更新

11

本地存储重新加载但不更新

12

更新表单,但不加载或重新加载页面

32

响应本机热重加载刷新,但不更新更改。

20

Highcharts从服务器ok加载数据,但不更新

15
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档