React hooks如果你想使用forwardRef拿到子组件里的方法或状态,不使用高阶组件的情况下是可以的。但是如果使用了connect或者withRouter这一类的高阶函数后,ref就会失效。
这里举例connect,解决方式如下:
给第四个参数传入option,{ forwardRef: true },可以完美解决。
代码示例如下:
import React, { forwardRef } from 'React'
import { connect } from 'dva'
const Index: React.FC<Props> = forwardRef((props, ref) => {
....
})
export default connect(({ global }) => ({
global
}), null, null, { forwardRef: true })(Index)