React hook 中connect和forwardRef连用会导致传入子组件的ref失效
Posted machinist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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)
以上是关于React hook 中connect和forwardRef连用会导致传入子组件的ref失效的主要内容,如果未能解决你的问题,请参考以下文章
react dva 的 connect 与 @connect