Fragment 占位組件不生成標(biāo)簽與路由組件lazyLoad案例
使用
Fragment表示占位組件 并不會(huì)生成一個(gè)標(biāo)簽 幫助解決了報(bào)錯(cuò)問(wèn)題 其他什么都不會(huì)生成
<Fragment><Fragment> <></>
兩者的區(qū)別是 Fragment 能接收參數(shù) key 可用于循環(huán)遍歷 <> 內(nèi)不能包含任何參數(shù)
作用
可以不用必須有一個(gè)真實(shí)的DOM根標(biāo)簽了
案例
import React, {
Component, Fragment
} from 'react';
// Fragment表示占位組件 并不會(huì)生成一個(gè)標(biāo)簽 幫助解決了報(bào)錯(cuò)問(wèn)題 其他什么都不會(huì)生成
class Text extends Component {
render() {
return (
<Fragment>
<input/>
<ul>
<li>Learn More</li>
<li>Learn React</li>
</ul>
</Fragment>
);
}
}
export default Text;
路由組件的lazyLoad
//1.通過(guò)React的lazy函數(shù)配合import()函數(shù)動(dòng)態(tài)加載路由組件 ===> 路由組件代碼會(huì)被分開(kāi)打包
const Login = lazy(()=>import('@/pages/Login'))
//2.通過(guò)<Suspense>指定在加載得到路由打包文件前顯示一個(gè)自定義loading界面
<Suspense fallback={<h1>loading.....</h1>}>
<Switch>
<Route path="/xxx" component={Xxxx}/>
<Redirect to="/login"/>
</Switch>
</Suspense>
案例
import React, { Component,lazy,Suspense } from 'react'
import { NavLink,Route } from 'react-router-dom'
// import Home from './Home'
// import About from './About'
import Loading from './Loading'
const About = lazy(() => import("./About"))
const Home = lazy(() => import("./Home"))
export default class Demo extends Component {
render() {
return (
<div>
<div className="row">
</div>
<div className="row">
<div className="col-xs-2 col-xs-offset-2">
<div className="list-group">
<NavLink activeClassName="atguigu" className="list-group-item" to="/about">About</NavLink>
<NavLink activeClassName="atguigu" className="list-group-item" to="/home">Home</NavLink>
</div>
</div>
<div className="col-xs-6">
<div className="panel">
<div className="panel-body">
<Suspense fallback={<Loading/>}>
{/* 注冊(cè)路由 */}
<Route path="/about" component={About} />
<Route path="/home" component={Home} />
</Suspense>
</div>
</div>
</div>
</div>
</div>
)
}
}以上就是Fragment 占位組件不生成標(biāo)簽與路由組件lazyLoad案例的詳細(xì)內(nèi)容,更多關(guān)于Fragment 占位組件的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
vue?eslint報(bào)錯(cuò)error?"Component?name?"*****"
這篇文章主要給大家介紹了關(guān)于vue?eslint報(bào)錯(cuò)error?“Component?name?“*****“?should?always?be?multi-word”的解決方法,文中通過(guò)圖文以及實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
vue3內(nèi)嵌iframe的傳參與接收參數(shù)代碼示例
這篇文章主要給大家介紹了關(guān)于vue3內(nèi)嵌iframe的傳參與接收參數(shù)的相關(guān)資料,Vue項(xiàng)目中使用iframe及傳值功能相信有不少人都遇到過(guò),需要的朋友可以參考下2023-07-07
vue實(shí)現(xiàn)移動(dòng)端適方案的完整步驟
現(xiàn)在的手機(jī)五花八門(mén),造就了移動(dòng)端窗口分辨率繁多的局面,在不同分辨率的屏幕下保持與UI圖一致的效果,就成了讓前端不得不頭疼的問(wèn)題,下面這篇文章主要給大家介紹了vue實(shí)現(xiàn)移動(dòng)端適方案的相關(guān)資料,需要的朋友可以參考下2022-10-10
Vue 使用 Mint UI 實(shí)現(xiàn)左滑刪除效果CellSwipe
這篇文章主要介紹了Vue 使用 Mint UI 實(shí)現(xiàn)左滑刪除效果CellSwipe,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-04-04
JavaScript的MVVM庫(kù)Vue.js入門(mén)學(xué)習(xí)筆記
這篇文章主要介紹了JavaScript的MVVM庫(kù)Vue.js入門(mén)學(xué)習(xí)筆記,Vue.js是一個(gè)新興的js庫(kù),主要用于實(shí)現(xiàn)響應(yīng)的數(shù)據(jù)綁定和組合的視圖組件,需要的朋友可以參考下2016-05-05
vue 自動(dòng)檢測(cè)手機(jī)端響應(yīng)式布局的五種實(shí)現(xiàn)
本文主要介紹了vue自動(dòng)檢測(cè)手機(jī)端響應(yīng)式布局,可以通過(guò)結(jié)合 CSS 媒體查詢(xún)、Vue 的動(dòng)態(tài)數(shù)據(jù)綁定、適當(dāng)?shù)牡谌綆?kù)、PostCSS 插件以及正確的視口設(shè)置實(shí)現(xiàn),感興趣的可以了解一下2024-07-07
詳解Vue3中的watch偵聽(tīng)器和watchEffect高級(jí)偵聽(tīng)器
這篇文章主要介紹了Vue3中的watch偵聽(tīng)器和watchEffect高級(jí)偵聽(tīng)器,本文通過(guò)示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-08-08

