关于hook:React-hook-中connect和forwardRef连用会导致传入子组件的ref失效

let Component = (props)=>{
    const {refInstance} = props;
    //  只有是实例都行useForm和useRef创立的都能够
    const [form] = Form.useForm();
    useImperativeHandle(refInstance,()=>({
       submit:()=>{
          form.submit();
       }
    }));
    return (
       <div>Hello Word</div>
    )
};
Component = connect(xxx, xxx)(Component);
//留神:这里不要在Component上应用ref;换个属性名字比方refInstance;不然会导致笼罩
export default React.forwardRef((props,ref) => 
    (<Component  {...props}  refInstance={ref} />));

查阅connect后发现应用connect的第四个参数也可实现

export default connect((state) => {
  return {
    list: state.list,
  }
}, null, null, { forwardRef: true })(C2)

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理