不使用JSX如何从另一个组件访问功能

时间:2019-09-02 19:19:47

标签: reactjs

我正在尝试另一个组件功能中的调用功能

SceneManager 内部,componentDidMount()我正在尝试在 HUD_Html 中启用函数,enableViewItem()

SceneManager组件。

componentDidMount() {


    this.scene = new THREE.Scene();
    const camera = new THREE.PerspectiveCamera( 75, window.innerWidth/window.innerHeight, 0.1, 10000 );

    const renderer = new THREE.WebGLRenderer();

    //Call function here
    //
    HUD_Html.enableViewItem("photo1") //e.g
 }
 render() {
    return (
      <div ref={ref => (this.mount = ref)}>
        <HUD_Html/>
      </div>
    )
  }

}

HUD_Html组件

enableViewItem = (imagesNames) =>{
    //DO MY CODE
}

我尝试了互联网上的道具,状态和其他示例……但没有成功。

我猜用'ref'可以工作...但是他们说不推荐...还有另一种方法吗?

我不在jsx渲染上使用事件,因为我正在使用threeJS画布制作触发器

1 个答案:

答案 0 :(得分:0)

只需添加导出语句:

export const enableViewItem = imagesNames => {
    //DO MY CODE
}

并在另一个组件中调用它。