react中函数的不同写法的区别是什么? - 网站

react中函数的不同写法的区别是什么?

分类:React入门教程_React框架基础教程 · 发布时间:2020-04-14 18:04 · 阅读:778

react中函数不同写法的区别是什么?下面本篇文章给大家介绍一下React内三种函数的写法,并对比一下。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

React内三种函数的写法

写法一:让函数内部的this指向这个类的实例,它是用bind实现的,bind的第一个参数表示context,就是this。

//写法一
class ManageAddress extends React.Component {

    constructor(props) {
        super(props);
        this.handleChangeAddressType = this.handleChangeAddressType.bind(this)
        ...
    }

    /**
     * 切换地址类型,重新获取地址列表
     * @param key
     */
    handleChangeAddressType(key) {
     ...
    };

  render() {
        return (
            ...
            <button onClick={this.handleChangeAddressType}>测试
            </button >
           ...
        )
    }
}

写法二:相当于让handleChangeAddressType的值为一个箭头函数,所以调用处直接传入这个值就可以,注意不能加括号会报错。而箭头函数的特性我们都知道:它不会自己创建this,它会从自己的作用域链上层继承this,这里this就会指向这个类的实例。这不是js标准写法,但是babel已经支持了。

//写法二
class ManageAddress extends React.Component {

    constructor(props) {
        super(props);
        ...
    }

    /**
     * 切换地址类型,重新获取地址列表
     * @param key
     */
    handleChangeAddressType = (key) =>{
     ...
    };

  render() {
        return (
            ...
            <button onClick={this.handleChangeAddressType}>测试
            </button >
           ...
        )
    }
}

写法三:在调用处使用箭头函数,与第二种方法类似

//写法三
class ManageAddress extends React.Component {

    constructor(props) {
        super(props);
        ...
    }

    /**
     * 切换地址类型,重新获取地址列表
     * @param key
     */
    handleChangeAddressType(key) {
     ...
    };

  render() {
        return (
            ...
            <button onClick={(key)=>this.handleChangeAddressType(key)}>测试
            </button >
           ...
        )
    }
}

更多前端开发学习的相关知识,请查阅 HTML中文网 !!

标签:
react

相关文章

react中怎么使用sass?

方法:1、使用npm工具安装sass-loader和node-sass依赖;2、配置webpack.config.js文件;3、在需要的组件中引入scss,然后添加scss代码即可。

react怎么判断checkbox是否被选中

react判断checkbox是否被选中的方法:可以通过【if ($(&quot;#checkbox-id&quot;).get(0).checked) {}】方法来进行判断。还可以通过原生js方法来进行判断,如【ele.checked】。

react子组件如何向父组件传值?

在react中,首先通过父组件给子组件传递一个函数,然后子组件通过参数传到父组件,通过props来传递函数的引用,并通过回调的方式实现;其实就是子组件调用父组件的方法,把值以形参的方式传出来。

react组件什么时候会重新渲染?

每当组件状态改变时,React就会调用render函数进行重新渲染。更改状态意味着当调用setState函数时,React触发更新;这不仅意味着将调用组件的render函数,而且还意味着重新渲染其所有后续子组件,无论其prop是否已更改。

react组件生命周期有几个阶段?

React组件生命周期有三个阶段:加载、更新和卸载。加载阶段表示一个组件实例被创建并被插入到DOM中;更新阶段表示由状态或属性的改变导致组件的重新渲染;卸载阶段表示组件从DOM中移除。

返回分类 返回首页