日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

React路由 + 绝对路径引用

發(fā)布時間:2024/4/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 React路由 + 绝对路径引用 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

路由:

哈希路由(在url地址后加 ? #name) 

 // 實現(xiàn)頁面監(jiān)聽window.onhashchange = function(){console.log(‘hash:’,window.location.hash)}

H5路由(history.pushState(‘起的名字’, ‘title字段’, ‘跳轉(zhuǎn)的地址’))
H5路由高級的地方就是可以跳轉(zhuǎn)一個hash值,也可以跳轉(zhuǎn)一個路徑,且跳轉(zhuǎn)路徑時頁面不會刷新

 // 實現(xiàn)頁面監(jiān)聽window.onpopstate = function (e) {console.log(‘H5:’, window.location.pathname)}

?

還有一個特殊的 history.replaceState,它和 history.pushState 調(diào)用方式一樣。唯一的區(qū)別是pushState是在歷史記錄棧推送一條記錄,而replaceState是替換當(dāng)前的歷史記錄棧,不會更改其他的歷史記錄。

React和路由相關(guān)的元素:

// 哈希路由 <HashRouter>// H5路由   <BrowserRouter>// 路由規(guī)則 <Route>// 路由選項 <Switch>// 跳轉(zhuǎn)導(dǎo)航 <Link> || <NavLink>// 自動跳轉(zhuǎn) <Redirect>

絕對路徑的引用

相信很多童鞋在React中出現(xiàn)過引用過長的問題

舉個?: import Api from '../../../../Api'

這還只是其中一個文件,我們項目中有N多個文件,有些文件層次不一樣,這樣就很容易引起混亂(何況是我這樣的眼盲,數(shù)都數(shù)懵逼了ing...)

1、打開 webpack.config.dev.js &?webpack.config.prod.js 文件

2、找到 alias 這個字段,在其已有屬性字段下添加

// 絕對路徑的引用 '@': path.resolve(__dirname, '鏈接Scr的路徑'), // 這樣如果再調(diào)用Src下的Api文件的話,就可直接 import Api from '@/src'

// 少俠留步,如果還想偷懶,老衲也可以給你看看下面....
'component': path.resolve(__dirname, '鏈接component的路徑,例:../src/component'),

ok,請少俠重啟服務(wù)運行下試試,是不是突然感到?菊花一緊?眼睛一亮 ?這樣寫的話就很方便了有木有?寫法統(tǒng)一,易于理解,也不用費勁一層一層網(wǎng)上扒了。( 此處應(yīng)該有掌聲... )

等等,也許有些用create-react-app創(chuàng)建項目的少俠看到這里才突然發(fā)現(xiàn)。我曹。我特么?webpack.config.dev.js &?webpack.config.prod.js 文件呢?

?

少俠莫急

如果用create-react-app創(chuàng)建的項目,這兄弟倆默認是藏在 node_modules 下的 script-react 里面,這時候少俠又納悶了,這么多文件我該怎么找?

少俠請附耳過來,老衲教少俠一句咒語。

npm run eject

少俠請看根目錄是不是多了一個config文件?這哥倆就在這里藏著呢,去大膽配置吧。

安裝Eslint時候拋出警告

Eslint大家應(yīng)該都熟悉,可是在React項目在安裝Eslint的時候總是拋出一個警告,雖然無關(guān)緊要,但是在不少強迫癥騷年的眼里簡直要命呀。

Definition for rule 'jsx-a11y/href-no-hash' was not found jsx-a11y/href-no-hash(就是這廝)

問題起因是 eslint-config-airbnb 需要特定版本的插件,所以不能默認安裝這些插件的最新版本。安裝的時候直接運行下面這個命令即可: npm install --save-dev eslint-config-airbnb eslint@^2.9.0 eslint-plugin-jsx-a11y@^1.2.0 eslint-plugin-import@^1.7.0 eslint-plugin-react@^5.0.1

好了,后續(xù)還有一系列小紀(jì)會分享給大家,如果對各位少俠有所幫助,請關(guān)注本微博,或者關(guān)注本人的個人公眾號,如果有什么問題,也歡迎大家發(fā)私信給我。

?

轉(zhuǎn)載于:https://www.cnblogs.com/icaihua/p/9869846.html

總結(jié)

以上是生活随笔為你收集整理的React路由 + 绝对路径引用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。