は、これらの機能は、一般的に、彼らは、特定のタイプのプロパティでReactElements
を生成する機能である意味factoriesと呼ばれています。
これは、これらの工場は、ボンネットの下に作成されているか大体です:
あなたは速記のインスタンスを作成することができ、渡されたものは何でもにバインド
null
と
type
にバインド
this
とバウンド関数として
React.createElement
を返し
function createFactory(type) {
return React.createElement.bind(null, type);
}
あなたの要素のための機能:
// create a function that creates React <div> elements
let div = createFactory('div');
// create two divs using the div factory function
let div1 = div({ /* some props */ }, 'Div 1');
let div2 = div({ /* some props */ }, 'Div 2');
すでにリアクトは、などの一般的なHTMLタグの組み込みの工場が付属しています、li
など、あなたの質問にお答えください。
が、型がnullである理由を理解するために苦労しています。あなたの例の一つを見ると、上記のすべてを考慮すると
:
React.DOM.div(null, 'Hello World!')
次の処理が行われます。
React.DOM.div
は、ボンネットの下として
'div'
を渡すことだけファクトリ関数であります最初の引数は
React.createElement
になり、それ以外のものは残りの引数として渡されます。
基本的な考え方:私はこのファクトリが作成された時はいつでも上に示してきたように
// the function is created as a factory
React.DOM.div = createFactory('div');
// and used to create a <div> element
var myDiv = React.DOM.div(null, 'Hello World');
div
のこの値は最初の引数としては、同様に設定しました。
したがって、null
はprops
オブジェクトであり、type
ではありません。型はファクトリによってdiv
にバインドされます。つまり、props
が最初の引数で、'Hello World!'
の文字列がchildren
の引数です。
偉大な答え。最後のパラグラフでは、私はあなたがdivの最初の引数として渡されることを意味します** createFactory ** – Snowcrash
ありがとう、喜んで助けてください。実際に私は、私は明確にするために編集したとは思わない:) – nem035