Javascript 如何将引用传递给使用onClickOutside(';react onClickOutside';)的HOC?

Javascript 如何将引用传递给使用onClickOutside(';react onClickOutside';)的HOC?,javascript,reactjs,Javascript,Reactjs,我对我的HOC使用onClickOutside('react-onClickOutside'),但我无法传递此HOC的ref,我有如下情况,出现错误: const inputRef = useRef(); .... <SomeCompontnt inputRef={inputRef} items={items} onSelect={onSelect} value={selectedItem} /> .... export default onClic

我对我的HOC使用
onClickOutside('react-onClickOutside')
,但我无法传递此HOC的ref,我有如下情况,出现错误

const inputRef = useRef();
....
<SomeCompontnt
    inputRef={inputRef}
    items={items}
    onSelect={onSelect}
    value={selectedItem}
 />
....
export default onClickOutside(forwardRef(
(props, inputRef) => <MyHoc inputRef={inputRef} {...props} />)
);
....
const inputRef=useRef();
....
....
导出默认onClickOutside(forwardRef(
(道具,inputRef)=>)
);
....
错误

未捕获的TypeError:无法读取的属性“isReactComponent” 未定义 在onClickOutside.render(react onClickOutside.es.js?7e48:325)

试试这个: 您可以在OnClickOutside演示MyHookClick控制台中看到MyHoc onClick输出

import React from "react";
import { render } from "react-dom";
import onClickOutside from "react-onclickoutside";

class OnclickoutsideDemo extends React.Component {
  constructor(props) {
    super(props);

    this.state = {};
  }

  render() {
    const options = this.state.showOptions ? (
      <MyHookClick
        onClick={e => console.log(e)}
        handleClickOutside={() => this.setState({ showOptions: false })}
      />
    ) : null;

    return (
      <div>
        <span
          onClick={() =>
            this.setState({ showOptions: !this.state.showOptions })
          }
        >
          Click Me
        </span>
        {options}
      </div>
    );
  }
}

const MyHoc = React.forwardRef((props, ref) => (
  <div ref={ref} onClick={e => props.onClick("HaHa")}>
    Click Me to see HaHa in console !
  </div>
));

const MyHookClick = onClickOutside(props => (
  <MyHoc ref={props.inputRef} {...props} />
));

export default OnclickoutsideDemo;

render(<OnclickoutsideDemo />, document.getElementById("root"));
从“React”导入React;
从“react dom”导入{render};
从“react onClickOutside”导入onClickOutside;
类OnclickoutsideDemo扩展了React.Component{
建造师(道具){
超级(道具);
this.state={};
}
render(){
const options=this.state.showOptions(
console.log(e)}
handleClickOutside={()=>this.setState({showOptions:false})
/>
):null;
返回(
this.setState({showOptions:!this.state.showOptions})
}
>
点击我
{options}
);
}
}
const MyHoc=React.forwardRef((props,ref)=>(
props.onClick(“哈哈”)}>
点击我在控制台中看到哈哈!
));
const MyHookClick=onclickout(props=>(
));
导出默认onclickoutsidemo;
render(,document.getElementById(“根”));

您的代码甚至没有显示发生错误的属性isReactComponent,请提供更多信息。是否与此相关?答案已更新,请参见此处的答案输出