タイトルは良くないので、名前を見つけるとすぐに編集します。このES6関数の意味や解釈は何ですか
私はReduxを学んできましたが、これは私がこの種の機能を見た最初の場所です。
export default connect(null, actionCreators)(TodoApp)
私の周り私の頭を取得することはできません、明らかに「ヌル」と「actionCreatorsは、」connect関数に渡されたのparamsですが、どのような「(TodoApp)が」しているのですか?
タイトルは良くないので、名前を見つけるとすぐに編集します。このES6関数の意味や解釈は何ですか
私はReduxを学んできましたが、これは私がこの種の機能を見た最初の場所です。
export default connect(null, actionCreators)(TodoApp)
私の周り私の頭を取得することはできません、明らかに「ヌル」と「actionCreatorsは、」connect関数に渡されたのparamsですが、どのような「(TodoApp)が」しているのですか?
Javascriptはファーストクラスの関数をサポートしています。これは通常のデータのように渡すことができます。したがって、connect(null, actionCreators)
は、が渡される匿名関数を返します。
単純な理解の例は次のようになります
var obj = {
name: "Test",
age: 10
}
var f =() => {
// Do whatever f function should do
// Return an anonymous function that takes in an object as parameter
return (obj) => {
// Do whatever we want to to with the object
console.log(obj.name)
}
}
// These two methods are equivalent
// 1.-
f()(obj);
// 2.-
var f2 = f();
f2(obj);
connect(null, actionCreators)(TodoApp);
と同じくらい良いです。このような何か
var fun = connect(null, actionCreators);
fun(TodoApp);
その:あなたが見ることができるように
function connect(val1,val2){
console.log(val1,val2);
return function(val3){
console.log(val3);
}
}
var actionCreators = "X";
var TodoApp = "Some Object";
connect(null, actionCreators)(TodoApp);
、connect
は二つの入力、
匿名メソッドを返します。このメソッドは1つの入力を受け取ります。
'(ヌル、actionCreators)を接続' TodoApp'のに渡される匿名関数を返します。 – ftor
素晴らしい、あなたが答えとしてそれを追加するなら私はそれを受け入れるよ – Borjante