升级react-router4遇到的问题有哪些

小编给大家分享一下升级react-router4遇到的问题有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联专注于马鞍山网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供马鞍山营销型网站建设,马鞍山网站制作、马鞍山网页设计、马鞍山网站官网定制、微信平台小程序开发服务,打造马鞍山网络公司原创品牌,更为您提供马鞍山网站排名全网营销落地服务。

react-router,V4版本修改内容

1. 所有组件更改为从react-router-dom导入

之前的所有路由组件均是从react-router中导入,在我之前的项目中,导入相关组件如下:

//v2
import {Router,Route,hashHistory} from 'react-router';

在react-router4 开始,所有的router组件均是从react-router-dom中导入, 所以一下的需要更改为以下代码:

//v4
import {Route,BrowserRouter, Switch} from 'react-router-dom';

细心的你发现在,到导入的过程中,我删除了Router,但是增加了BorwerRouter和Switch,下面我会一步步的说明.

2. 将所有替换为

之前v2中的代码如下:

//v2
 
  
  
  
 

现在需要更改为BrowserRouter

//v4

  
   
   
   
  
 

细心的你发现,这里的代码不仅仅是将Router替换为BrowserRouter,而且还把所有的Route中用Switch包裹起来. 下面就是v4的另一个修改.

3. 只能有一个子节点

只能有一个子节点,所以官网建议的是使用进行包裹,官网给出的例子如下.

In v3, you could specify a number of child routes, and only the first one that matched would be rendered.

// v3

 
 
 

v4 provides a similar functionality with the component. When a is rendered, it will only render the first child that matches the current location.

// v4
const App = () => (
 
  
  
  
 
)

4. 最坑的地方:在当前目录下的文件路径不再使用./, 而是直接用/.

在进行文件引用的时候 ,./src/js的写法需要更改文'/src/js', 这是更改之后最坑的地方!!! 因为其他的更改,在控制台都会有着详细的错误提示, 然而找不到文件只会出现404!!!
所以,在单页面中的引入的css文件和bundle.js的引入都需要更改, 在我的项目中的例子如下:

//v2


  
    
    
    
    
    
  
  
    
      
    
       

上面的页面需要更改为下面这样,否则所有的文件都无法找到:

//v4


  
    
    
    
    
    
  
  
    
      
    
       

看完了这篇文章,相信你对“升级react-router4遇到的问题有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


分享文章:升级react-router4遇到的问题有哪些
标题来源:http://azwzsj.com/article/jsheie.html

其他资讯