美文网首页
React - 绑定事件 & 修改state的值

React - 绑定事件 & 修改state的值

作者: 辻子路 | 来源:发表于2019-07-30 17:10 被阅读0次

    React绑定事件 & 修改state的值

    import React from 'react'
    
    export default class BindEvent extends React.Component {
        constructor() {
            super()
            this.state = {
                msg: '哈哈'
            }
        }
        render() {
            return <div>
                BindEvent 组件
                <hr />
                {/* 在React中,有一套自己的事件绑定机制;事件名,是小驼峰形式 */}
                {/* <button onClick={this.myClickHandler}>按钮</button> */}
                {/* 传参调用 */}
                <button onClick={() => this.myClickHandler('你好')}>按钮</button>
                <hr />
                {/* 点击按钮修改msg的值 */}
                <h3>{this.state.msg}</h3>
                {/* 注意 React中,如果想为state中的数据重新赋值,不要用this.state.xxx=值 */}
                <button onClick={() => this.update()}>更改msg</button>
                <hr />
                {/* 如果只是为文本框的value属性绑定到了this.state状态,但是如果不提供onChange处理函数的话,
                那么该文本框是只读的 */}
                {/* 当为文本框绑定value值后,要么为文本框提供onChange事件,要么就要提供readOnly */}
                <input type='text' style={{ width: '100 %' }} value={this.state.msg} onChange={(e) => this.textChange(e)} ref="txt" />
            </div >
        }
    
        myClickHandler(w) {
            console.log('ok')
            console.log(w)
        }
    
        update() {
            // 在React中,推荐使用this.setState({})修改状态值
            // 注意: this.setState方法的执行是异步的
            // 如果想在调用完this.setState之后,又想立即拿到最新的state值,需要使用callback
            this.setState({
                msg: '你好'
            }, () => {
                console.log(this.state.msg)
            })
        }
    
        textChange(e) {
            // 在onChange事件中,获取文本框的值,有两种方案
            // 方案1: 通过事件参数e来获取
            // console.log(e.target.value)
            this.setState({
                msg: e.target.value
            })
            // 方案2:
            console.log(this.refs.txt.value)
        }
    }
    

    相关文章

      网友评论

          本文标题:React - 绑定事件 & 修改state的值

          本文链接:https://www.haomeiwen.com/subject/pyonrctx.html