国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【前端知識(shí)】React 基礎(chǔ)鞏固(十九)——組件化開(kāi)發(fā)(三)

這篇具有很好參考價(jià)值的文章主要介紹了【前端知識(shí)】React 基礎(chǔ)鞏固(十九)——組件化開(kāi)發(fā)(三)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

React 基礎(chǔ)鞏固(十九)——組件化開(kāi)發(fā)(三)

組件通信小案例

  • Main.jsx
import React, { Component } from "react";
import TabControl from "./TabControl";

export class Main extends Component {
  constructor() {
    super();

    this.state = {
      titles: ["流行", "新款", "精選"],
      tabIndex: 0,
    };
  }

  tabClick(index) {
    this.setState({
      tabIndex: index,
    });
  }

  render() {
    const { titles, tabIndex } = this.state;

    return (
      <div>
        <TabControl titles={titles} tabClick={(i) => this.tabClick(i)} />
        <h1>{titles[tabIndex]}</h1>
      </div>
    );
  }
}

export default Main;
  • TabControl/index.jsx
import React, { Component } from "react";
import "./style.css";

export class TabControl extends Component {
  constructor() {
    super();

    this.state = {
      currentIndex: 0,
    };
  }

  itemClick(index) {
    this.setState({ currentIndex: index });
    this.props.tabClick(index);
  }

  render() {
    const { titles } = this.props;
    const { currentIndex } = this.state;

    return (
      <div className="tab-control">
        {titles.map((item, index) => {
          return (
            <div
              className={`item ${currentIndex === index ? "active" : ""}`}
              key={item}
              onClick={(e) => this.itemClick(index)}
            >
              <span className="text">{item}</span>
            </div>
          );
        })}
      </div>
    );
  }
}

export default TabControl;
  • TabControl/style.css
.tab-control {
  display: flex;
  align-items: center;
  height: 40px;
  text-align: center;
}

.tab-control .item {
  flex: 1;
}

.tab-control .item.active {
  color: red;
}

.tab-control .item.active .text {
  padding: 3px;
  border-bottom: 3px solid red;
}

文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-549292.html

到了這里,關(guān)于【前端知識(shí)】React 基礎(chǔ)鞏固(十九)——組件化開(kāi)發(fā)(三)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【前端知識(shí)】React 基礎(chǔ)鞏固(三十七)——自定義connect高階組件

    【前端知識(shí)】React 基礎(chǔ)鞏固(三十七)——自定義connect高階組件

    從這行代碼可以看到,目前的connect直接引用了上級(jí)目錄的store,過(guò)于依賴(lài)目前既定的store,這樣不利于復(fù)用。假設(shè)另一個(gè)項(xiàng)目的store所在位置不在上級(jí)目錄中,則會(huì)出現(xiàn)問(wèn)題。 為了讓所有人都能使用,我們應(yīng)該把這種“寫(xiě)死”的做法換成讓開(kāi)發(fā)者自己傳入一個(gè)store: 構(gòu)建一個(gè)

    2024年02月15日
    瀏覽(25)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(三十四)——組件中的異步操作及優(yōu)化

    【前端知識(shí)】React 基礎(chǔ)鞏固(三十四)——組件中的異步操作及優(yōu)化

    通過(guò)組件的生命周期來(lái)完成網(wǎng)絡(luò)請(qǐng)求,網(wǎng)絡(luò)請(qǐng)求的異步代碼直接放在組件中 通過(guò)redux來(lái)管理異步網(wǎng)絡(luò)請(qǐng)求 在store中引入中間件 redux-thunk 構(gòu)建 fetchHomeMultidataAction ,將原本在組件中的異步請(qǐng)求代碼放入到actionCreators.js中 改寫(xiě)原來(lái)的category.jsx,派發(fā)異步請(qǐng)求的dispatch 查看運(yùn)行結(jié)果

    2024年02月15日
    瀏覽(38)
  • 組件化開(kāi)發(fā)之如何封裝組件-react

    組件是構(gòu)建用戶(hù)界面的基本單元,它是一個(gè)獨(dú)立的、可重用的、可組合的代碼單元,用于表示UI的一部分。 人話(huà):當(dāng)談?wù)摻M件時(shí),就像在搭積木一樣,每個(gè)組件都是一個(gè) 獨(dú)立的、可以重復(fù)使用 的代碼塊,用來(lái)構(gòu)建網(wǎng)頁(yè)或應(yīng)用的各個(gè)部分。比如界面的布局,像按鈕、文本輸入

    2024年02月11日
    瀏覽(21)
  • react組件化開(kāi)發(fā)詳解

    React是一個(gè)流行的JavaScript庫(kù),用于構(gòu)建用戶(hù)界面,并且以組件化的方式進(jìn)行開(kāi)發(fā)。下面將詳解React組件化開(kāi)發(fā)的概念和步驟: 組件化思維: 組件化開(kāi)發(fā)是將復(fù)雜的用戶(hù)界面劃分為獨(dú)立、可重用的小部件(組件)。每個(gè)組件負(fù)責(zé)處理自己的邏輯和渲染,可以嵌套和組合其他組件

    2024年02月12日
    瀏覽(27)
  • React 組件化是什么?

    React 是一個(gè)用于構(gòu)建用戶(hù)界面的JavaScript庫(kù),它采用了組件化的開(kāi)發(fā)模式,使得開(kāi)發(fā)者可以將界面劃分為獨(dú)立的、可重用的組件,以便更輕松地管理和維護(hù)復(fù)雜的應(yīng)用程序。 組件化開(kāi)發(fā)是一種將應(yīng)用程序拆分為小塊、可重用的部分的方法。 在React中,每個(gè)組件都有自己的狀態(tài)

    2024年02月10日
    瀏覽(20)
  • React初體驗(yàn)-Hello React的組件化方式-React入門(mén)小案例

    React初體驗(yàn)-Hello React的組件化方式-React入門(mén)小案例

    接下來(lái)我們通過(guò)Hello React的案例, 來(lái)體驗(yàn)一下React開(kāi)發(fā)模式, 以及jsx的語(yǔ)法 Hello React案例演練 第一步: 先引入React開(kāi)發(fā)依賴(lài) 第二步: 這里我們編寫(xiě)React的script代碼中,必須添加 type=\\\"text/babel\\\" ,作用是可以讓babel解析jsx的語(yǔ)法 第三步: 創(chuàng)建元素渲染到頁(yè)面 React18之前的做法: 通過(guò) R

    2023年04月08日
    瀏覽(21)
  • React【React是什么?、創(chuàng)建項(xiàng)目 、React組件化、 JSX語(yǔ)法、條件渲染、列表渲染、事件處理】(一)

    React【React是什么?、創(chuàng)建項(xiàng)目 、React組件化、 JSX語(yǔ)法、條件渲染、列表渲染、事件處理】(一)

    ? ? ? ?React是什么? 為什么要學(xué)習(xí)React? React開(kāi)發(fā)前準(zhǔn)備? 創(chuàng)建React項(xiàng)目?

    2024年02月11日
    瀏覽(23)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(十三)——列表渲染

    在 React 中沒(méi)有像 Vue 模塊語(yǔ)法中的 v-for 指令,而是需要我們通過(guò) JS 代碼的方式組織數(shù)據(jù),轉(zhuǎn)成 JSX 在 React 中,展示列表最多的方式就是使用數(shù)組的 map 高階函數(shù) 在展示數(shù)組前,有時(shí)會(huì)進(jìn)行一些處理 過(guò)濾一些內(nèi)容(filter 函數(shù)) 截取數(shù)組中的一部分內(nèi)容(slice 函數(shù)) 列表中的

    2024年02月10日
    瀏覽(30)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(四十)——Navigate導(dǎo)航

    【前端知識(shí)】React 基礎(chǔ)鞏固(四十)——Navigate導(dǎo)航

    新建Login頁(yè)面,在Login中引入Navigate,實(shí)現(xiàn)點(diǎn)擊登陸按鈕跳轉(zhuǎn)至 /home 路徑下: 當(dāng)路由均無(wú)匹配時(shí),通過(guò)Navigate跳轉(zhuǎn)至NotFound界面,其中 * 為通配符: 構(gòu)建NotFound.jsx 在App.jsx中配置NotFound: 構(gòu)建Home的子路由頁(yè)面: HomeRecommend.jsx HomeRanking.jsx 利用 Route 嵌套子路由,實(shí)現(xiàn)Home頁(yè)面下的

    2024年02月14日
    瀏覽(28)
  • 【前端知識(shí)】React 基礎(chǔ)鞏固(二十七)——Fragment

    【前端知識(shí)】React 基礎(chǔ)鞏固(二十七)——Fragment

    Fragment 允許將子列表分組,而無(wú)需向 DOM 添加額外節(jié)點(diǎn) 可以采用語(yǔ)法糖 / 來(lái)替代 Fragment,但在需要添加 key 的場(chǎng)景下不能使用此短語(yǔ) 查看Fragment應(yīng)用后的效果

    2024年02月16日
    瀏覽(28)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包