function createConnect({ connectHOC = connectAdvanced, mapStateToPropsFactories = defaultMapStateToPropsFactories, mapDispatchToPropsFactories = defaultMapDispatchToPropsFactories, mergePropsFactories = defaultMergePropsFactories, selectorFactory = defaultSelectorFactory} = {}){}
1 回答

MMMHUHU
TA贡献1834条经验 获得超8个赞
这是es6里面的语法之一。
先了解以下对象的解构赋值
。如下:
// 这个应该很好理解了var { foo, bar } = { foo: "aaa", bar: "bbb" }; foo // "aaa"bar // "bbb"// 然后解构的时候可以指定默认值var {x = 3} = {}; x // 3var {x, y = 5} = {x: 1}; x // 1y // 5var {x:y = 3} = {}; y // 3var {x:y = 3} = {x: 5}; y // 5var { message: msg = 'Something went wrong' } = {}; msg // "Something went wrong"
运行到函数中:
// 参数是一组无次序的值 function f({x, y, z}) { console.log(x,y,z) // 3,2,1} f({z: 3, y: 2, x: 1});
所以这个函数等同于这样写:
// 这些值是给定的默认值 var connectAdvanced,defaultMapStateToPropsFactories,defaultMapDispatchToPropsFactories,defaultMergePropsFact ories,defaultMergePropsFactories,defaultSelectorFactoryfunction createConnect(params = {}){ var { connectHOC = connectAdvanced, mapStateToPropsFactories = defaultMapStateToPropsFactories, mapDispatchToPropsFactories = defaultMapDispatchToPropsFactories, mergePropsFactories = defaultMergePropsFactories, selectorFactory = defaultSelectorFactory } = params }
添加回答
举报
0/150
提交
取消