javascript – 箭头函数和括号()或{}或({})的使用

前端之家收集整理的这篇文章主要介绍了javascript – 箭头函数和括号()或{}或({})的使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我无法理解为什么在箭头函数中我们不需要在({})括号中包装箭头函数文字,而不是在这个例子中只包含在single()括号中的文字.为什么?我曾在网上冲浪找到答案,但失败了.

还有为什么我们把参数放在双括号({})中,而不仅仅是()?

const FilterLink = ({ filter,children }) => (
   <NavLink
       to={filter === 'SHOW_ALL' ? '/' : `/${ filter }`}
       activeStyle={ {
       textDecoration: 'none',color: 'black'
       }}
   >
       {children}
   </NavLink>
)

解决方法

使用({})是 destructure参数和=> ()是等效于=>的隐式返回值. {return()}和(仅用于消除对象的开始和函数体的开括号之间的歧义,并且通常在具有多行返回值时使用.您可以简单地避免使用(并且使用NavLink)与箭头相同的行=>
const FilterLink = ({ filter,children }) => ( // <-- implicit return 
  <NavLink
    to={filter === 'SHOW_ALL' ? '/' : `/${ filter }`}
    activeStyle={ {
      textDecoration: 'none',color: 'black'
    }}
  >
    {children}
  </NavLink>
)

相当于

const FilterLink = ({ filter,children }) => {
   return (
      <NavLink
        to={filter === 'SHOW_ALL' ? '/' : `/${ filter }`}
        activeStyle={ {
          textDecoration: 'none',color: 'black'
        }}
      >
        {children}
      </NavLink>
    )
}

检查more details on the usage of destructuring in ({ filter,children })的答案

原文链接:https://www.f2er.com/js/154768.html

猜你在找的JavaScript相关文章