为了账号安全,请及时绑定邮箱和手机立即绑定

我点击数字可以自增,然后改变按钮的值变成不改变,点击不改变再变成改变

我点击数字可以自增,然后改变按钮的值变成不改变,点击不改变再变成改变

米脂 2019-03-13 10:16:42
我点击数字可以自增1,然后改变按钮的值变成不改变,此时数字无法自增,点击不改变按钮后,按钮的值再变成改变,此时值可以自增,不断如此,请问如何实现?import React from 'react';class Basic extends React.Component {    constructor() {        super();        this.state = {            changeValue: '', // 任务栏改变值            isLocked: true,            value: 2        }        this.changeHandle = this.changeHandle.bind(this);        this.setValue = this.setValue.bind(this);    }    setValue() {        this.setState({            value: this.state.value + 1        })    }    changeHandle(content, event){        console.log('传递的内容 = ' + content)        this.setState({            isLocked: !this.state.isLocked        })    }        componentWillMount() {        console.log('组件将要渲染')        this.setState({            value: this.state.value + 1        })    }    componentDidMount(){        console.log('组件正式渲染')    }    render() {        console.log('渲染render()')        var divStyle = {        }        var valueStyle = {            fontSize: 50,            color: '#FF0004'        }        return (            <div id style={divStyle} className='data-line'>                <div>                    <div style={valueStyle} onClick={this.setValue}>{this.state.value}</div>                </div>                <div>                    {this.state.isLocked ?                        <button onClick={this.changeHandle.bind(this, '人生不如意')}>改变</button> :                        <button>无法点击按钮</button>                    }                </div>            </div>        )    }}export default Basic;
查看完整描述

2 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

https://img1.sycdn.imooc.com//5c89bdab0001934702010042.jpg

查看完整回答
反对 回复 2019-03-14
?
茅侃侃

TA贡献1842条经验 获得超21个赞


import React from 'react';


class Basic extends React.Component {


  constructor() {


    super();

    this.state = {

      changeValue: '', // 任务栏改变值

      isLocked: false,

      value: 2

    }

    this.changeHandle = this.changeHandle.bind(this);


    this.setValue = this.setValue.bind(this);


  }


  setValue() {

    if (this.state.isLocked) {

      return

    }

    this.setState({

      value: this.state.value + 1,

      isLocked: true

    })

  }


  changeHandle(content, event) {

    console.log('传递的内容 = ' + content)

    this.setState({

      isLocked: !this.state.isLocked

    })

  }


  componentWillMount() {


    console.log('组件将要渲染')


    this.setState({

      value: this.state.value + 1

    })

  }




  componentDidMount() {

    console.log('组件正式渲染')

  }


  render() {


    console.log('渲染render()')


    var divStyle = {


    }


    var valueStyle = {

      fontSize: 50,

      color: '#FF0004'

    }


    return (


      <div id style={divStyle} className='data-line'>

        <div>

          <div style={valueStyle} onClick={this.setValue}>{this.state.value}</div>

        </div>

        <div>

          {this.state.isLocked ?

            <button onClick={this.changeHandle.bind(this, '人生不如意')}>不改变</button> :

            <button onClick={this.changeHandle.bind(this, '人生不如意')}>改变</button>

          }

        </div>


      </div>

    )

  }

}


export default Basic;



查看完整回答
反对 回复 2019-03-14
  • 2 回答
  • 0 关注
  • 601 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号