javascript
1<App {...props} />
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
回答2件
0
ベストアンサー
Spread Attributesと呼ばれるものです。
ES6 javascriptで ...は配列を展開してくれるスプレッド演算子ですが、それに似た機能ですね。
jsx
1var props = {} 2props.x = "10"; 3props.y = "20"; 4<App {...props} />
なら、
jsx
1<App x="10" y="20" />
のような感じになります。
変数props側で文字ではなく数値だと、App側のpropsにも数値でくるなど違いはあります。
けど、15.1からdeprecatedなのかな?
https://github.com/facebook/react/pull/6444
まだ利用してよいかは別途調べてみてください。
追記
raccyさんのコメントを受けて:
https://facebook.github.io/react/blog/2016/04/08/react-v15.0.1.html のChangelogにありますが、React.__spread
非公開APIをdeprecatedにしたという事の様で、少なくともBabelではエラーなく展開可能なようです。(React.__spread
も直しはしてて、このAPI使ってるツールでもこの時点では動くようにはしたけどもう使うなって事ですかね)
raccyさんありがとうございます。
投稿2016/09/03 02:55
編集2016/09/03 03:36総合スコア2604
0
JSX記法のSpread Attributes(訳するとすれば「属性展開」でしょうか)と言う機能です。
参考: JSX Spread Attributes | React#Spread Attributse
props
の値が展開されて入るようになります。
例えば、
JavaScript
1var props = { a: "1", b: "2" }; 2var app = <App {...props} />;
と言うコードは
JavaScript
1var app = <App a="1" b="2" />;
とほぼ同じになります。注意して欲しいのは、実際にJSXからJavaScriptの変換で上のように展開されるわけではありません。変換後のReact.createElement()
にはそのままprops
を渡して、渡された関数の中で展開しています。
投稿2016/09/03 02:53
総合スコア21735
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/03 03:04
2016/09/03 03:11
2016/09/03 03:24