From e0c2277a3c9667a7d40062b1993859474032013d Mon Sep 17 00:00:00 2001 From: Kohei TAKATA Date: Fri, 3 Jul 2015 09:49:17 +0900 Subject: [PATCH] Translate 06-transferring-props.md to Japanese --- docs/06-transferring-props.ja-JP.md | 161 ++++++++++++++++++++++++++++ 1 file changed, 161 insertions(+) create mode 100644 docs/06-transferring-props.ja-JP.md diff --git a/docs/06-transferring-props.ja-JP.md b/docs/06-transferring-props.ja-JP.md new file mode 100644 index 00000000..1c3f4bfb --- /dev/null +++ b/docs/06-transferring-props.ja-JP.md @@ -0,0 +1,161 @@ +--- +id: transferring-props +title: propsの移譲 +permalink: transferring-props-ja-JP.html +prev: reusable-components-ja-JP.html +next: forms-ja-JP.html + +--- + + +コンポーネントを抽象的にラップすることはReactにおいて共通のパターンです。外のコンポーネントは単純なプロパティを表示し、中ではさらに複雑なインプリメンテーションの詳細を持つようになっています。 + +以下のように、古いpropsと追加の値を[JSXの拡張属性](/react/docs/jsx-spread-ja-JP.html)を使ってマージすることができます。 + +```javascript + +``` + +JSXを使わない場合は、以下のように、ES6の `Object.assign` か Underscore の `_.extend` といったオブジェクトヘルパーを使うことができます。 + +```javascript +React.createElement(Component, Object.assign({}, this.props, { more: 'values' })); +``` + +以下のチュートリアルはベストプラクティスを提示しています。JSXや試験的なES7のシンタックスを使っています。 + +## 手動での移動 + +ほとんどの場合、プロパティを明確に子要素に渡すべきです。それは、内部のAPIのサブセットだけを外に出していることと、認識しているプロパティが動作することを保証します。 + +```javascript +var FancyCheckbox = React.createClass({ + render: function() { + var fancyClass = this.props.checked ? 'FancyChecked' : 'FancyUnchecked'; + return ( +
+ {this.props.children} +
+ ); + } +}); +React.render( + + Hello world! + , + document.getElementById('example') +); +``` + +しかし、 `name` プロパティや `title` プロパティや `onMouseOver` はどうでしょうか? + +## JSXにおける `...` を使った移譲 + +> 注意: +> 以下の例では、実験的なES7のシンタックスであることを示すために `--harmony ` フラグが必要になります。ブラウザ上でJSXトランスフォーマーを使う際には、単純に `