为什么不反应-redx connect直接将Dumb Component作为参数?

Mor*_*eng 3 reactjs redux react-redux

反应减少的新来者很容易被这种说法搞糊涂.

export default connect(mapStateToProps, mapDispatchToProps)(DumbComponent);
Run Code Online (Sandbox Code Playgroud)

connect方法返回一个新方法DumbComponent作为参数.

我想知道为什么不DumbComponent直接作为连接的参数.像这样.

export default connect(mapStateToProps, mapDispatchToProps, DumbComponent);
Run Code Online (Sandbox Code Playgroud)

对新来者来说,这看起来不那么令人生畏了.

实际API设计中的任何原因?

Nik*_*sen 6

此API设计的一个原因可能是您可以将其用作ES6装饰器.像这样:

@connect(mapStateToProps, mapDispatchToProps)
class DumbComponent extends React.Component { 
  ... 
}
Run Code Online (Sandbox Code Playgroud)