【问题标题】:What is the significance of using brackets inside an arrow function in React/Redux在 React/Redux 的箭头函数中使用括号有什么意义
【发布时间】:2018-05-14 14:43:05
【问题描述】:

给定以下 react-redux 代码:

const TextListContainer = ({ items, actions }) => (
    <TextList items={items} actions={actions} />
)

为什么这里使用普通括号而不是大括号?


为了进一步说明我的问题:

正常功能:

const someFn = something => {
    //...
}

大括号样式功能:

const someFn = something => (
    //...
)

这种风格的代码是从这里复制过来的:https://github.com/reactjs/redux/blob/master/examples/todomvc/src/containers/App.js

【问题讨论】:

  • 了解解构或箭头函数语法的实际工作原理,具体取决于您要询问的大括号。
  • 我知道解构和箭头语法,这是一个如何解构的例子?
  • 不是解构,是返回值的简写

标签: javascript reactjs ecmascript-6 redux


【解决方案1】:

基本上{} 用于当有函数体并且您需要根据函数中的计算返回特定值时。 一个简单的函数示例,如果值大于 10 则加 1,否则减 1。

(value) => {
  if(value > 10){
    return value + 1; 
  }
  return value - 1;
}

另一方面,如果真的有一个简单的函数,比如返回 一个布尔值。你可以这样做:

(num) => (num > 100)

返回一个布尔值。 简单干净。

【讨论】:

  • 谢谢,非常干净的答案:)
【解决方案2】:

() =&gt; something,其中something 不以{ 开头,返回something

使用() =&gt; {{ 被解释为函数体的开始,所以你必须明确地return 一些东西。为了解决这个问题,例如如果你想返回一个对象,你可以使用(:

() => ({ some object })

在其他情况下使用它是一个一致性问题。

【讨论】:

  • 感谢您的解释,现在这很有意义,我仍然不确定为什么每个人都指向上面的 cmets 中的解构..
  • 没问题,我猜他们浏览了您的问题并在第一个示例中看到了 { items, actions },它破坏了 props 对象。
猜你喜欢
  • 2017-08-26
  • 1970-01-01
  • 2018-08-05
  • 2022-01-19
  • 2016-05-28
  • 2022-12-07
  • 1970-01-01
  • 2017-05-22
相关资源
最近更新 更多