站長資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        怎么使用react實現(xiàn)一個tab組件

        使用react實現(xiàn)一個tab組件的方法:1、通過“export default props => {…}”方式創(chuàng)建TAB button組件;2、通過“tab-group-layout.js”組件來傳“tabIndex”,并設(shè)置默認選中的tab效果;3、用react繼承“react.component”組件里的onMouseOver和OnMouseOut方法即可。

        怎么使用react實現(xiàn)一個tab組件

        前端(vue)入門到精通課程:進入學(xué)習(xí)
        Apipost = Postman + Swagger + Mock + Jmeter 超好用的API調(diào)試工具:點擊使用

        本教程操作環(huán)境:windows7系統(tǒng)、react18.0.0版、Dell G3電腦。

        怎么使用react實現(xiàn)一個tab組件?

        react寫Tab組件

        使用react寫TAB欄組件和對應(yīng)hover事件(背景:在用gatsby開發(fā)頁面時,遇到這樣的組件效果,順便記錄一下)

        1、效果

        默認選中的tab選中效果 和 鼠標(biāo)放上去的hover效果

        當(dāng)鼠標(biāo)滑過右側(cè)的tab時,也會有和第一個一樣的選中效果!

        2、tab-button.js 組件

        import React from "react" import { css } from "@emotion/core" import { Link } from "gatsby" import jdyStyles from "./container.module.css"   // TAB button 組件 export default props => {   return (   <li css={css`font-size: 18px;margin-left:18px;margin-right: 18px;display:flex;flex-direction: column;align-items:center;justify-content:center`} >   <Link css={css`font-size: 18px;padding: 20px 12px;`}  className={ (props.selected?jdyStyles.header_hover_default:jdyStyles.header_hover)  }  to={props.to}> {props.children} </Link>   </li>   ) }
        登錄后復(fù)制

        3、tab-group-layout.js 組件

        import React from "react" import { css } from "@emotion/core" import { Link } from "gatsby" import ListLink from "../components/tab-button" import RegisterButton from "../components/round-button" export default ({ tabIndex }) => {   return (   <div>    {/* tab */} <ul style={{ listStyle: `none`, float: `right` }} css={css`display: flex;justify-content: space-between;align-items: center;`}> <ListLink to="/official-site/" selected={(tabIndex==='official-site')}>產(chǎn)品介紹</ListLink> <ListLink to="/about/" selected={(tabIndex==='about')}>成功案列</ListLink> <ListLink to="/contact/" selected={(tabIndex==='contact')}>服務(wù)支持</ListLink> <ListLink to="/sweet-pandas-eating-sweets/" selected={(tabIndex==='sweet-pandas-eating-sweets')}>資源中心</ListLink> </ul>   </div>   ) }
        登錄后復(fù)制

        使用這個組件傳過來 tabIndex 設(shè)置默認選中的tab效果;也可以自己處理展示的邏輯

        4、對應(yīng)的css樣式 container.module.css

        .header_hover{   color: #333; }   .header_hover_default{   color: #0084ff!important;   border-top: 3px solid #0084ff; }   .header_hover:hover{   color: #0084ff!important;   border-top: 3px solid #0084ff; }
        登錄后復(fù)制

        5、當(dāng)前組件的hover使用的是css樣式控制,也可以用 react繼承 react.component組件里的onMouseOver和OnMouseOut方法來實現(xiàn)

        推薦學(xué)習(xí):《react視頻教程》

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號-2    滬公網(wǎng)安備31011702889846號
        主站蜘蛛池模板: 国产精品视频第一页| 国产精品国产三级国产潘金莲 | 欧美人与动牲交a欧美精品| 国产综合精品久久亚洲| 999久久久无码国产精品 | 国产精品99精品视频网站| 国内精品久久人妻互换| 亚洲国产午夜中文字幕精品黄网站 | 精品久久久久久中文字幕| 中国国产精品| 久久久91人妻无码精品蜜桃HD| 777欧美午夜精品影院| 69久久夜色精品国产69| 国产精品亚洲日韩欧美色窝窝色欲 | 久99久无码精品视频免费播放| 亚洲综合精品香蕉久久网97| 国产精品igao视频网网址| 乱精品一区字幕二区| 亚洲精品成人无限看| 偷拍精品视频一区二区三区| 精品国产91久久久久久久a | 亚洲日韩精品无码专区网址| 久久93精品国产91久久综合| 国产精品欧美亚洲韩国日本久久| 九九在线精品视频专区| 国产精品美女久久久| 91精品国产福利尤物| HEYZO无码综合国产精品| 国产午夜福利精品久久2021 | 亚洲精品欧美精品日韩精品| 日韩精品一区二区午夜成人版 | 国产福利91精品一区二区| 91麻豆精品国产| jizz国产精品网站| 国产精品福利在线播放| 国产日韩欧美精品| 92国产精品午夜福利免费| 99久re热视频这里只有精品6| 大胸国产精品视频| 国产精品九九久久免费视频 | 91精品国产高清久久久久久91|