站長資訊網
最全最豐富的資訊網站

怎么使用react實現一個tab組件

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

怎么使用react實現一個tab組件

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

本教程操作環境:windows7系統、react18.0.0版、Dell G3電腦。

怎么使用react實現一個tab組件?

react寫Tab組件

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

1、效果

默認選中的tab選中效果 和 鼠標放上去的hover效果

當鼠標滑過右側的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>   ) }
登錄后復制

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')}>產品介紹</ListLink> <ListLink to="/about/" selected={(tabIndex==='about')}>成功案列</ListLink> <ListLink to="/contact/" selected={(tabIndex==='contact')}>服務支持</ListLink> <ListLink to="/sweet-pandas-eating-sweets/" selected={(tabIndex==='sweet-pandas-eating-sweets')}>資源中心</ListLink> </ul>   </div>   ) }
登錄后復制

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

4、對應的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; }
登錄后復制

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

推薦學習:《react視頻教程》

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
北岛玲在线精品视频| 69pao精品视频在线观看| 国产高清在线精品一区小说| 国产精品免费综合一区视频| 四虎永久在线日韩精品观看| 久久91精品国产99久久yfo| 伊人久久综合精品无码AV专区| 亚洲国产精品成人一区| 亚洲欧美日韩中文二区| 国产在热线精品视频国产一二| 精品人人妻人人澡人人爽牛牛| 亚洲精品一卡2卡3卡三卡四卡| 久久久久久久国产精品电影| 久久国产乱子精品免费女| 国产亚洲午夜高清国产拍精品 | 人妻精品久久久久中文字幕| 日韩社区一区二区三区| 国产精品爆乳奶水无码视频| 欧美日韩精品乱国产| 亚洲精品又粗又大又爽A片| 玩弄人妻少妇精品视频| 国产精品久久影院| 精品女同一区二区三区免费站| 久久精品午夜一区二区福利| 久久99精品久久久久久园产越南 | 99久久人妻无码精品系列| 久久久无码精品亚洲日韩京东传媒 | 狠狠入ady亚洲精品| 精品无人区麻豆乱码1区2区新区| 羞羞麻豆国产精品1区2区3区| 精品成在人线AV无码免费看 | 日本精品久久久久久福利| 九九99久久精品国产| www国产精品内射老熟女| 国产成人精品一区二区A片带套| 欧美精品久久久久久精品爆乳| 久久久无码精品午夜| 精品国产不卡在线电影| 国产精品免费视频一区| 亚洲日韩在线观看| 日韩大乳视频中文字幕|