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

  • 相关阅读:
    Webservice学习之新建一个最简单的Webservice项目
    初学程序一定要养成良好的习惯
    你晚上睡好了吗?
    如何面对失恋?
    多病之秋少言多饮
    转:避开秋季相冲食物
    转:饭后九不要包你保健康
    转:五官不适预示五脏衰弱
    转:过度疲劳的27个信号与预防方法
    foxmail是不是不行了?
  • 原文地址:https://www.cnblogs.com/greatdesert/p/12668145.html
Copyright © 2011-2022 走看看