React自执行函数

自执行函数就是在定义之后会立刻被执行,没有必要显式地调用他们。
一般的函数是这样定义与执行的:

function myFunction() {
// 函数内容
}
myFunction();

如果想要函数在被定义之后立即执行,这个时候就可以用到自执行函数了,我们需要使用括号将这个定义都包含起来,即将函数当作一个表达式,再传入需要使用的参数。例子如下:

( function myFunction(/* arguments */) {
    // ...
}(/* arguments */) );

或者


( function myFunction(/* arguments */) {
    // ...
} ) (/* arguments */);

要是其他地方不会调用该函数的话,可以直接省略该函数的名称:

( function (/* arguments */) {
    // ...
} ) (/* arguments */);

也可以使用箭头函数来表示:

( (/* arguments */) => {
    // ...
} ) (/* arguments */);

在React中,我们可以用一个大括号包裹一整个自执行函数,把所有逻辑都放在里面(if/else、switch、三元运算符等等),然后返回所需要渲染的东西。

举个例子,如果使用自执行函数去渲染一个编辑/保存按钮,代码会是这样的:


{
  (() => {
    const handler = view 
                ? this.handleEdit 
                : this.handleSave;
    const label = view ? 'Edit' : 'Save';
          
    return (
      <button onClick={handler}>
        {label}
      </button>
    );
  })()
} 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值