Javascript 哪种方式更适合将函数引用发送到react组件?

Javascript 哪种方式更适合将函数引用发送到react组件?,javascript,reactjs,reference,components,Javascript,Reactjs,Reference,Components,我正在尝试将函数引用发送到导入的组件。所以我最好使用ref属性或道具 我想找到一个最佳和标准的方法 如果像这样以字符串形式传递函数,则不会产生效果。showmodel 用大括号将其向下传递: <MyComponent show={this.showModal} hide={this.hideModal} /> Refs的目的是直接操作DOM,而不是将某些内容传递给组件。例如,您可能希望使用jQuery操作DOM 我理解你的问题,如果你有很多方法,你可以使用…道具,但你也可以通过道

我正在尝试将函数引用发送到导入的组件。所以我最好使用ref属性或道具

我想找到一个最佳和标准的方法


如果像这样以字符串形式传递函数,则不会产生效果。showmodel

用大括号将其向下传递:

<MyComponent show={this.showModal} hide={this.hideModal} />
Refs的目的是直接操作DOM,而不是将某些内容传递给组件。例如,您可能希望使用jQuery操作DOM 我理解你的问题,如果你有很多方法,你可以使用…道具,但你也可以通过道具作为分离的方法

我想你指的是受控组件和非受控组件之间的区别: 失控- 控制-


答案取决于您的组件逻辑,如果您想通过使用REF的DOM或组件本身来控制它

我们不使用refs进行事件处理,最好使用带{}大括号的JSX sytax将处理程序作为道具传递给子组件。

如果我正确理解您的问题,您想将eventhandler从父组件发送给子组件吗

parent.js

child.js


好的,但是当我有很多方法的时候,情况如何呢?我应该使用ref?Mohammad,我已经写下了关于ref的更新。只要传递很多方法。@Mohammad你可以跟踪你的道具,哪些方法被作为道具传递。我们对DOM操作OK使用REF,但是我应该如何编写处理程序方法呢?我应该通过一门课吗?例如,我有很多功能:隐藏,显示,获取api数据,删除,更新等。你能提供清晰的工作流程隐藏,显示,获取api数据,删除,更新吗?举例说明可能会有所帮助
class ParentComponent extends Component {

  handler = () => {
     console.log("handler click">
  }

  render() {
    return (
      <div>
         <Child handler={this.handler} />
      </div>
    );
  }

}
const Child = ({ handler }) => (
  <Button onClick={handler} />
)