什么是反应javascript中的proc和方法?

sta*_*lei 8 javascript reactjs

我正在学习有关从此HOC 文章,但还没有看到procmethod之前.这些是指什么?

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}/>
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

Fel*_*ing 8

this.proc 指的是方法

proc(wrappedComponentInstance) {
  wrappedComponentInstance.method()
}
Run Code Online (Sandbox Code Playgroud)

wrappedComponentInstance.method()是一个如何在包装组件上调用任意方法的示例.文章说:

在下面的示例中,我们将探索如何通过refs访问实例方法和WrappedComponent的实例本身


所以,两者都没有与React有任何关系.

  • 你是在思考这个问题.`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`. (2认同)
  • *"proc做了什么?"*代码中有:`wrappedComponentInstance.method()`.它在传入的参数上调用`method`方法. (2认同)
  • @stackjlei你不是唯一的一个 - 在寻找相同的答案时找到了这个帖子!从来没有想过它可能只是一个命名函数...... (2认同)