在我的React Native应用程序中,我有一个组件Form1
:
class Form1 extends Component {
function1 = () => {...}
render() {return(...)}
}
在Form1
中,我可以通过this.function1()
访问function1
。我在另一个组件中创建了一个Form1
的实例,并将道具var1
传递给它,我可以通过this.props.var1
在Form1
中访问它。
<Form1
ref={ref => {this.form = ref.wrappedInstance}}
var1="hello"
/>
这里,当我在父组件中设置this.form = ref.wrappedInstance
时,我可以通过this.form.props.var1
访问var1
。换句话说,ref.wrappedInstance.props
是存在的。但是,我不能以同样的方式访问function1
;ref.wrappedInstance.function1
不存在。
在这种情况下,我如何访问function1
?
Ref必须在普通道具之外转发。看见https://reactjs.org/docs/forwarding-refs.html有关如何转发引用并构建组件以接受该引用的说明