title: Arrow functions and the use of parentheses () or {} or ({})
body: <p>I cannot understand why <strong>in the arrow functions</strong> we do not need to wrap the literal of arrow function in the <code>({})</code> braces, instead of in this example the literal just wrapped in the single <code>()</code> braces. Why? I had surfed the internet to find an answer on it, but it failed. </p>
  
  <p>And also why we put the arguments in double braces <code>({})</code>, instead of just <code>()</code>?</p>
  
  <pre><code>const FilterLink = ({ filter, children }) =&gt; (
     &lt;NavLink
         to={filter === 'SHOW_ALL' ? '/' : `/${ filter }`}
         activeStyle={ {
         textDecoration: 'none',
             color: 'black'
         }}
     &gt;
         {children}
     &lt;/NavLink&gt;
  )
  </code></pre>