最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

React事件監(jiān)聽(tīng)和State狀態(tài)修改方式

 更新時(shí)間:2022年08月04日 11:22:34   作者:大名張無(wú)忌  
這篇文章主要介紹了React事件監(jiān)聽(tīng)和State狀態(tài)修改方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

React事件監(jiān)聽(tīng)和State狀態(tài)修改

on*函數(shù)可直接使用,但只能使用在html標(biāo)簽上,自己創(chuàng)建的組件標(biāo)簽不可

組件可以增加state狀態(tài),修改用setState方法,修改會(huì)有緩存,只能保證在渲染到頁(yè)面之前會(huì)改好。所以setState后立馬去使用值可能是不對(duì)的

狗子組件1:點(diǎn)擊會(huì)打印bark和run

class Dog extends Component {
? bark () {
? ? console.log('bark')
? }
??
? run () {
? ? console.log('run')
? }
??
? render () {
? ? return (<div onClick={
? ? //有兩個(gè)方法需要實(shí)現(xiàn),所以用一個(gè)函數(shù)進(jìn)行封裝
? ? ? ()=>{
? ? ? ? this.bark();
? ? ? ? this.run();
? ? ? }
? ? }>DOG</div>)
? ? }
}
ReactDOM.render(<Dog/>,document.querySelector('#root'));

狗子組件2:增加bark和run狀態(tài),開(kāi)始為false,點(diǎn)擊變成true,1s后還原成false 

class Dog extends Component {
  constructor () {
    super()
    this.state={
      bark:false,
      run:false
    }
  }
  
  clickYeah () {
    this.setState({
      bark: true,
      run: true
    })
    //因?yàn)閟etState會(huì)有緩存,值后面才會(huì)變,所以這里打印出來(lái)還是false
    console.log('bark'+this.state.bark);
    console.log('run'+this.state.run);
    setTimeout(()=>{
      //1s之后將值改回成false,所以這里打印出來(lái)還是false。如果想要檢驗(yàn)前面修改成true有沒(méi)有生效,可以將這里setState修改成false的步驟先注釋掉
      this.setState({
        bark: false,
        run: false
      })
      console.log('bark'+this.state.bark+'run'+this.state.run);
    },1000)
  }
  
  render () {
    return (<div onClick={this.clickYeah.bind(this)}>DOG</div>)
  }
}
ReactDOM.render(<Dog/>,document.querySelector('#root'));

React事件監(jiān)聽(tīng)相關(guān)例子

 var TestClickComponent = React.creatsClass({
    handleClick: function(event){
 
    //操作DOM節(jié)點(diǎn)
 
        var msg = React.findDOMNode(this.refs.tip);
         if(msg.style.display === 'none'){
            msg.style.display = 'inline';
        }else{
            msg.style.display = 'none';
        }
        //阻止事件的冒泡和默認(rèn)行為
 
        event.stopPropagation();
        event.preventDefault();
    },
 
    render: function(){
 
        return(
            <div>
                <button onClick={this.handleClick}>顯示/隱藏</button>
                <span ref="tip">message</span>
            </div>
        );
    }
});
var TestInputComponent = React.createClass({
    getInitialState: function(){
        return{
            inputContent: ' '
        }
    },
 
    changeHandler:function(event){
 
      //改變state的值
 
        this.setState({
            inputContent:event,target.value
        });
 
        event.preventDefault();
        event.stopPropagation();
    },
 
    render: function(){
 
        return(
            <div>
                <input type="text" onChange={this.changeHandler}/>
                <span>{this.state.inputContent}</span>
            </div>
        ); 
    } 
});

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 解決React報(bào)錯(cuò)`value` prop on `input` should not be null

    解決React報(bào)錯(cuò)`value` prop on `input` should&

    這篇文章主要為大家介紹了React報(bào)錯(cuò)`value` prop on `input` should not be null解決方法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • 深入理解React與閉包的關(guān)系

    深入理解React與閉包的關(guān)系

    本文將深入探討React與閉包之間的關(guān)系,我們將首先介紹React和閉包的基本概念,然后詳細(xì)解釋React組件中如何使用閉包來(lái)處理狀態(tài)和作用域的問(wèn)題,希望通過(guò)本文的閱讀,你將對(duì)React中閉包的概念有更深入的理解,并能夠在開(kāi)發(fā)React應(yīng)用時(shí)更好地應(yīng)用閉包
    2023-07-07
  • react native與webview通信的示例代碼

    react native與webview通信的示例代碼

    本篇文章主要介紹了react native與webview通信的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • React中映射一個(gè)嵌套數(shù)組實(shí)現(xiàn)demo

    React中映射一個(gè)嵌套數(shù)組實(shí)現(xiàn)demo

    這篇文章主要為大家介紹了React中映射一個(gè)嵌套數(shù)組實(shí)現(xiàn)demo,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-12-12
  • React useEffect的理解與使用

    React useEffect的理解與使用

    useEffect是react v16.8新引入的特性。我們可以把useEffect hook看作是componentDidMount、componentDidUpdate、componentWillUnmounrt三個(gè)函數(shù)的組合
    2022-12-12
  • React Native第三方平臺(tái)分享的實(shí)例(Android,IOS雙平臺(tái))

    React Native第三方平臺(tái)分享的實(shí)例(Android,IOS雙平臺(tái))

    本篇文章主要介紹了React Native第三方平臺(tái)分享的實(shí)例(Android,IOS雙平臺(tái)),具有一定的參考價(jià)值,有興趣的可以了解一下
    2017-08-08
  • 使用React Native創(chuàng)建以太坊錢包實(shí)現(xiàn)轉(zhuǎn)賬等功能

    使用React Native創(chuàng)建以太坊錢包實(shí)現(xiàn)轉(zhuǎn)賬等功能

    這篇文章主要介紹了使用React Native創(chuàng)建以太坊錢包,實(shí)現(xiàn)轉(zhuǎn)賬等功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • React渲染的優(yōu)化方案

    React渲染的優(yōu)化方案

    react的渲染機(jī)制是非常獨(dú)特的,有別于 Vue 框架的渲染次數(shù)的優(yōu)化計(jì)算,React 很久以來(lái)就有PureComponent、shouldUpdate,本文小編給大家介紹了React渲染的優(yōu)化方案,需要的朋友可以參考下
    2024-08-08
  • 關(guān)于react中useCallback的用法

    關(guān)于react中useCallback的用法

    這篇文章主要介紹了關(guān)于react中useCallback的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • React-native橋接Android原生開(kāi)發(fā)詳解

    React-native橋接Android原生開(kāi)發(fā)詳解

    本篇文章主要介紹了React-native橋接Android原生開(kāi)發(fā)詳解,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-01-01

最新評(píng)論

宝鸡市| 宁远县| 盈江县| 建水县| 南漳县| 乌拉特中旗| 麻阳| 双牌县| 左贡县| 那坡县| 海阳市| 新建县| 芦溪县| 鱼台县| 阳江市| 阳曲县| 保亭| 上饶市| 朝阳市| 资阳市| 怀宁县| 崇州市| 峡江县| 鲁甸县| 呼和浩特市| 青海省| 承德市| 包头市| 铁岭市| 满洲里市| 霞浦县| 荥阳市| 云梦县| 武汉市| 昌都县| 定边县| 清水县| 普宁市| 安溪县| 中山市| 辽宁省|