我正在阅读这篇文章学习有关HOC的知识,但是我之前没有见过proc
和method
这两个术语。它们代表什么意思?
function refsHOC(WrappedComponent) {
return class RefsHOC extends React.Component {
proc(wrappedComponentInstance) {
wrappedComponentInstance.method()
}
render() {
const props = Object.assign({}, this.props, {ref: this.proc.bind(this)})
return <WrappedComponent {...this.props}/>
}
}
}
RefsHOC
是一个类。该类定义了一个方法proc
。类的实例可以通过this.proc
访问该方法。这里有另一个简化的例子:class Foo { bar() {} baz() { this.bar() }
。每个Foo
的实例都将拥有bar
和baz
方法。baz
通过this.bar()
调用bar
。或者更简单地说:var foo = {bar() {}, baz() { this.bar() }}
。foo
是一个具有两个方法的对象。foo.baz()
也将通过this.bar()
调用foo.bar
。 - Felix KlingwrappedComponentInstance.method()
。它会调用传入参数的method
方法。 - Felix Kling