2017-03-19 14 views
0

学習上のリアクション私は、宣言の2つの方法に出くわしました。 return声明で古典fat arrow構文を使用して

React。ファット矢印関数を使用したコンポーネント宣言(ES6構文仕様)

const Component =() => { 
    return (
     <div>Hello</div> 
) 
} 


そして最近、私は単純化されたバージョンをdiscoverdました。

const Component =() => (
    <div>Hello</div> 
) 


私は第二の方法が機能する理由の説明を見つけることができなかったので、多分あなたは、このトピックに関するいくつかの経験を共有したり、さらにそれをカバーして記事のリンクを残すことができますか?

+2

[arrow functions with MDN](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/)を参照してください。 Arrow_関数)。 – Nit

+0

Fat arrowは、暗黙のリターンとして機能します。したがって、最初は冗長です。 –

+1

arrow関数には多くの定義済みの構文があるためです。最初は、複数のステートメントまたは式を持つ関数のブロックを作成します。後者はブロックを作成せず、暗黙的に式を返します。 – Li357

答えて

1

その本体が返されるように中括弧で囲まれていない単一の発現と矢印機能

(param1, param2, …, paramN) => expression 
// equivalent to: (param1, param2, …, paramN) => { return expression; } 

源:mdn矢印関数にのみ単一の要素によりそれを書き込まれた場合

1
  • その式をデフォルトで返します。中括弧やキーワードを返す必要はありません。
  • 複数の要素が存在する場合は中括弧を適用し、returnキーワードが必要です。上記ケーストップレベルのdiv封入において
cont component=()=>(
     <div> 
      <div>hello</div> 
      <p>How are you</p> 
     </div> 
     ) 
  • それは一つの要素として考えるすべてなります。なぜ呼び出されたものが完全に正常に動作し、jsx要素を返すのですか?
関連する問題