乐趣区

关于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)
退出移动版