我從此article瞭解HOC,但之前未看到proc
和method
。這些是指什麼?什麼是反應JavaScript中的proc和方法?
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}/>
}
}
}
proc是做什麼的?它只是返回方法()的引用嗎?我從來沒有聽說過或讀過它。 – stackjlei
你正在推翻這一點。 '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'。 –
*「proc是做什麼的?」*它在代碼中:'wrappedComponentInstance.method()'。它在傳入的參數上調用'method'方法。 –