dva中connet后通过ref无法调用子组件方法解决思路

204 阅读1分钟

环境:dva版本2.4.1,antd版本4.5.3

问题1:tab页获取不到dom结构

解决办法:在tabPane上设置forceRender隐藏时也加载dom结构

问题2:ref指向connect,无法真正指向子节点

1.解决思路:

  • connect加上第四个参数{withRef:true}就可以将connect中被包裹的组件的refs保留下来。
export default connect(({processResource}) => ({
  processResource,
}), null, null, {withRef: true})(Resource)
  • 然后ref中wrappedInstance保留了被包裹的组件方法
 this.resource.current.wrappedInstance.test(dataflowId);

2.参考文档:

www.jianshu.com/p/b567056c9…

3.参考示例:

stackblitz.com/edit/dva-ex…