问一下vue和react 的route

来源:5-2 详情页面的制作(2)

陈立天

2020-11-01 16:21:53

# 具体遇到的问题
课程中案例的vue和react 的route分别都是不同的方法实现了不同的路由方式:

  1. vue 通过统一在一个文件夹配置多个路由,实现url后面附带不同的变量实现不同页面的跳转

  2. react 通过在index.js文件里面 给content设置 根据不同的url后缀 content展示不同的内容

    我想说的是如何用vue实现react这样的路由方式,而react又如何实现vue这样的方式?

    即vue也能够像react这样 在一个页面内多个子组件 (根据url的不同展示不同的子组件);react像vue一样实现根据不同url跳转不同页面(而不是实现一个页面内切换展示不同的某个组件)

http://img.mukewang.com/climg/5f9e6ecf093a89ff19371156.jpg



# 报错信息的截图

# 相关课程内容截图

# 尝试过的解决思路和结果

# 粘贴全部相关代码,切记添加代码注释(请勿截图)

在这里输入代码,可通过选择【代码语言】突出显示

写回答

6回答

好帮手慕久久

2020-11-01

同学你好,问题解答如下:

1. index.js是根组件(根目录)。
2. 如下这样写,含义是在根组件中只渲染一个组件,不是两个组件

http://img.mukewang.com/climg/5f9e96a3092c61a712120768.jpg

即,并不是只将绿色框中的组件切换了,而是将app组件中的内容都换掉了(红色框、绿色框都换掉)。

3. vue中切换整个组件时,也是利用路由改变根组件的内容,二者的实现思路是一样的

http://img.mukewang.com/climg/5f9e95a309a8e17308270450.jpg
建议同学将该例子敲一下,看下效果。

祝学习愉快!

0

陈立天

提问者

2020-11-01

老师这个是根目录的文件把?  如果根目录有2个组件的话 这时候如果访问/toodoitem2  那不就也是成了局部切换路由吗 ,那就不是整体切换了。。

http://img.mukewang.com/climg/5f9e92a6095f99c915441208.jpg


和我截图这个老师写的是差不多的。。如果像老师这样写,如这页面有多个局部内容,路由还是切换的是局部的。 我的这个路由想要整体页面换掉 (也就是红色框和绿色框的内容),而不只是换掉绿色。

http://img.mukewang.com/climg/5f9e937209778a4c09191269.jpg

0

好帮手慕久久

2020-11-01

同学你好,react中也可以实现切换一个路由,整个页面都换成该路由的内容,如下:

http://img.mukewang.com/climg/5f9e8b3a0920417e09870783.jpg

http://img.mukewang.com/climg/5f9e8b600966b07109860634.jpg

http://img.mukewang.com/climg/5f9e8b780907a7b008860619.jpg

效果如下:

初始时:

http://img.mukewang.com/climg/5f9e8b90098ba1cb06670192.jpg

http://img.mukewang.com/climg/5f9e8bbf09b69b6807040178.jpghttp://img.mukewang.com/climg/5f9e8bcd090fa9c006980174.jpg

祝学习愉快!

0

陈立天

提问者

2020-11-01

或者我说的不太清楚 ,就是react 不能像vue那样 实现 根据一个路由 整个页面切换新的一个组件吗??


之前学的vue 就是像这个一样:

访问“/”这个的时候页面是home的页面(一个页面就是home这个组件) ,然后访问“/city”的时候就是city的页面(一个页面就是city这个组件)

http://img.mukewang.com/climg/5f9e85c5098d67fc06910732.jpg


react 不能实现vue这样的路由吗?? 只能做到 一个组件内 (多个组件)路由更新一个局部组件吗?




0

好帮手慕久久

2020-11-01

同学你好,问题解答如下:

1. vue中,也可以像react那样,通过使用router-link,实现根据不同的路由,动态渲染某一个组件内的内容,如下:

http://img.mukewang.com/climg/5f9e7f800964d0f310240510.jpg

http://img.mukewang.com/climg/5f9e7fa3099a280d07350547.jpg

http://img.mukewang.com/climg/5f9e802009798c4306020152.jpg

效果如下:

http://img.mukewang.com/climg/5f9e7ffd09496e2113610463.jpg

http://img.mukewang.com/climg/5f9e804909ce5fb907240276.jpg

2. 上面的例子只是用<router-view></router-view>渲染了某一部分结构,如果整个app组件,都用<router-view></router-view>来渲染,那么就可以实现,切换路由时,整个页面的内容都发生变化。因此对于vue来讲,切换路由时,并不是跳转页面,它也是根据路由来渲染一个页面的内容。即vue和react一样,都是单页面应用,修改路由时并不会页面跳转,因此react无法实现通过配置路由,实现页面跳转。

祝学习愉快!

0

陈立天

提问者

2020-11-01

老师能否简单举例一下 用vue 和react 分别简单说一下如何实现这两种方式的跳转?

0

0 学习 · 10739 问题

查看课程