zoukankan      html  css  js  c++  java
  • React 更新应用setState 和 forceUpdate的方法

    React应用创建完成后,只有执行this.setState或this.forceUpdate方法才能更新应用,forceUpdate一般用得比较少,在有些比较另类的需求里比较适合吧。它们的使用方法如下:

    • setState(partialState,callback)  ;更新组件的state,partialState是新的state部分对象,callback是更新完成后的回调函数
    • forceUpdate(callback)       ;强制更新整个应用,callback是更新完成后的回调函数

    setState的参数1还可以是个方法,此时可以传递两个参数,参数1是当前的state,参数是最新的props,举个例子:

        <div id="root"></div>                   
        <script type="text/babel">
            class App extends React.Component{
                constructor(props){
                    super(props)
                }
                state={num:0}
    
                clickHandle1 = ()=>{            
                    this.setState({num:this.state.num+1})            //常规的写法            
                }
                clickHandle2 = ()=>{
                    this.setState(e=>({num:e.num+1}))                //可以是一个函数,返回一个对象
                }
                clickHandle3 = ()=>{
                    this.setState(e=>e.num++);                       //还可以直接在函数内对state进行操作    
                }
                
                render(){
                    return  <div>
                                <button onClick={this.clickHandle1}>测试1</button>
                                <button onClick={this.clickHandle2}>测试2</button>
                                <button onClick={this.clickHandle3}>测试3</button>
                                <p>{this.state.num}</p>
                            </div>
                }
            }  
            ReactDOM.render(<App/>,root)
        </script>

    我们点击测试1、测试2和测试3,都会使React应用的num加1。

     writer by:大沙漠 QQ:22969969

  • 相关阅读:
    Java算法练习——整数反转
    Java算法练习—— Z 字形变换
    Java算法练习——最长回文子串
    vs code自动生成html代码
    thinkphp整合后台模板
    composer安装后台模板
    composer(作曲家)安装php-ml
    两个网站
    PHP的开源产品discuz
    onethink中的用户登录session签名
  • 原文地址:https://www.cnblogs.com/greatdesert/p/12668145.html
Copyright © 2011-2022 走看看