欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼

 更新時(shí)間:2018年07月04日 11:10:14   作者:木子昭  
本篇文章主要介紹了React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

本文介紹了React組件內(nèi)事件傳參實(shí)現(xiàn)tab切換的示例代碼,分享給大家,具體如下:

  1. 組件內(nèi)默認(rèn)onClick事件觸發(fā)函數(shù)actionClick, 是不帶參數(shù)的,
  2. 不帶參數(shù)的寫法: 如onClick= { actionItem }
  3. 帶參數(shù)的寫法, onClick = { this.activateButton.bind(this, 0) }

下面是一個(gè)向組件內(nèi)函數(shù)傳遞參數(shù)的小例子

需求: 在頁面的底部, 有四個(gè)按鈕, 負(fù)責(zé)切換內(nèi)容, 當(dāng)按鈕被點(diǎn)擊時(shí), 變?yōu)榧せ顮顟B(tài), 其余按鈕恢復(fù)到未激活狀態(tài)

分析: 我們首先要創(chuàng)建點(diǎn)擊事件的處理函數(shù), 當(dāng)按鈕被點(diǎn)擊時(shí), 將按鈕的id作為參數(shù)發(fā)送給處理函數(shù), 處理函數(shù)激活對應(yīng)當(dāng)前id的按鈕, 并將其余三個(gè)按鈕調(diào)整到未激活狀態(tài)

實(shí)現(xiàn): 用組件state創(chuàng)建一個(gè)含有四個(gè)元素的一維數(shù)組, 四個(gè)元素默認(rèn)為零, 但界面中某個(gè)按鈕被點(diǎn)擊時(shí), 組件內(nèi)處理函數(shù)將一維數(shù)組內(nèi)對應(yīng)元素變?yōu)?, 其它元素變?yōu)?

效果演示:

核心代碼:

import 'babel-polyfill';
import React from 'react';
import ReactDOM from 'react-dom';
import './index.scss'

class TabButton extends React.Component {

    constructor(props) {
      super(props);
      this.state = {
        markArray: [0, 0, 0, 0], 
        itemClassName:'tab-button-item'
      };
      this.activateButton = this.activateButton.bind(this);
    }

    // 根據(jù)參數(shù)id, 來確定激活四個(gè)item中的哪一個(gè)
    activateButton(id) {
      let tmpMarkArray = [0, 0, 0, 0]
      tmpMarkArray[id] = 1;
      this.setState({markArray: tmpMarkArray});
    }

    render() {
      return ( 

        <div className = "tab-button" >

        <div className = {(this.state.markArray)[0] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 0) } > 零 </div> 
        <div className = {(this.state.markArray)[1] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 1) } > 壹 </div> 
        <div className = {(this.state.markArray)[2] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 2) } > 貳 </div> 
        <div className = {(this.state.markArray)[3] ? "tab-button-item-active" : "tab-button-item" } onClick = { this.activateButton.bind(this, 3) } > 叁 </div>

        </div>)
      }

    }

    ReactDOM.render( < TabButton / > , document.getElementById("root"));

小結(jié)

上面的例子也可以通過event.target.value快速實(shí)現(xiàn),但這個(gè)demo的擴(kuò)展性更好, 在版本迭代過程中, 我們可以傳遞數(shù)量更多的參數(shù), 詳盡的描述UI層當(dāng)前的狀態(tài), 方便業(yè)務(wù)的擴(kuò)展

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • React-redux實(shí)現(xiàn)小案例(todolist)的過程

    React-redux實(shí)現(xiàn)小案例(todolist)的過程

    這篇文章主要為大家詳細(xì)介紹了React-redux實(shí)現(xiàn)小案例(todolist)的過程,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • React class和function的區(qū)別小結(jié)

    React class和function的區(qū)別小結(jié)

    Class組件和Function組件是React中創(chuàng)建組件的兩種主要方式,本文主要介紹了React class和function的區(qū)別小結(jié),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-10-10
  • React淺析Fragments使用方法

    React淺析Fragments使用方法

    這篇文章主要介紹了React Fragments使用方法,關(guān)于react Fragments,React中一個(gè)常見模式是為一個(gè)組件返回多個(gè)元素。Fragments 可以讓你聚合一個(gè)子元素列表,并且不在DOM中增加額外節(jié)點(diǎn)
    2022-12-12
  • react中fetch之cors跨域請求的實(shí)現(xiàn)方法

    react中fetch之cors跨域請求的實(shí)現(xiàn)方法

    本篇文章主要介紹了react中fetch之cors跨域請求的實(shí)現(xiàn)方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-03-03
  • React文字展開收起組件的實(shí)現(xiàn)示例

    React文字展開收起組件的實(shí)現(xiàn)示例

    本文主要介紹了React文字展開收起組件的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • React Store及store持久化的使用教程

    React Store及store持久化的使用教程

    這篇文章主要介紹了React Store及store持久化的使用教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2024-01-01
  • 使用react-virtualized實(shí)現(xiàn)圖片動態(tài)高度長列表的問題

    使用react-virtualized實(shí)現(xiàn)圖片動態(tài)高度長列表的問題

    一般我們在寫react項(xiàng)目中,同時(shí)渲染很多dom節(jié)點(diǎn),會造成頁面卡頓, 空白的情況。為了解決這個(gè)問題,今天小編給大家分享一篇教程關(guān)于react-virtualized實(shí)現(xiàn)圖片動態(tài)高度長列表的問題,感興趣的朋友跟隨小編一起看看吧
    2021-05-05
  • 基于react組件之間的參數(shù)傳遞(詳解)

    基于react組件之間的參數(shù)傳遞(詳解)

    下面小編就為大家?guī)硪黄趓eact組件之間的參數(shù)傳遞(詳解)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Hello?React的組件化方式之React入門小案例演示

    Hello?React的組件化方式之React入門小案例演示

    這篇文章主要介紹了Hello?React的組件化方式-React入門小案例,本文通過Hello?React的案例,?來體驗(yàn)一下React開發(fā)模式,?以及jsx的語法,需要的朋友可以參考下
    2022-10-10
  • React 中引入 CSS 高階用法的方案詳解

    React 中引入 CSS 高階用法的方案詳解

    這篇文章主要介紹了React中引入CSS高階用法的方案詳解,至于使用react用哪種方案引入css,并沒有一個(gè)絕對的答案,可以根據(jù)各自情況選擇合適的方案,需要的朋友可以參考下
    2024-02-02

最新評論