私はreact stateless componentを、次のことを言われた:リアクションのステートレスコンポーネントをプレーンJSに変換する方法は?
({value}) => <li>{value}</li>
desugarsを
(props) => { var value = props.value; return <li>{value}</li> }
に。
私は本当にこの砂糖の背後にある論理を理解していません。 (x) => x
は私が理解しているラムダ式です。しかし私が理解できないのは、{value}
は何ですか?私の推測では、スコープ内にあるprops
から現在の値value
を抽出します。
は(props) => { var value = props.value; return <li>{value}</li> }
閉鎖か?それはprops.value
で終了しますか?私は別の関数/コンポーネントに({value}) => <li>{value}</li>
を渡すと
、その後、何value
を参照してくださいだろうか?
質問はhereに由来します。
EDIT:あなたはJavaでこのような何かを書くとしたら、これは反射のことを思い出す、私が何を意味するかで、その後、あなたは右...リフレクションを使用する必要があるでしょうか?それは妥当なアナロジーですか?
EDIT2:へbabellet MyComponent = ({ value }) => <li>{value}</li>;
desugarsによれば
:
"use strict";
var MyComponent = function MyComponent(_ref) {
var value = _ref.value;
return React.createElement(
"li",
null,
value
);
};
'{値}にdesugares'オブジェクトな破壊であり、あなたはそれが[値]フィールドを引っ張っている権利です'props'オブジェクトをオフにします。 –
これは、関数に渡されるオブジェクトから 'value'を引き離していると言う方がより正確だと思います。そのオブジェクトは 'props'です。なぜなら、この関数が' react'でどのように使われているからですか? – Brandon