我有一个反应组件,如下所示。该组件与其他地方的ref
一起使用。我有办法通过ref
致电myMethod
吗?
class MyView extends Component {
myMethod() {
}
render() {
return (
<View style={{flex: 1}}>
{this.props.children}
</View>
)
}
}
export default connect((state) => ({
reduxState: state
})
)(MyView)
是的。使用Connect创建容器组件
export default connect((state) => ({
reduxState: state
}), null, null, { withRef: true }
)
请在此处查看connect
文档
https://github.com/reaectjs/react-react-react-reab blob/master/master/docs/api.md#connectmapstateteptatetoprops-mapdispatchtoprops-mergeprops-mergeprops-options
简而现在是为了使用myMethod
使用COMPONEN REF
componentDidMount () {
this.refs.component.getWrappedInstance().myMethod();
}
render() {
return (
<MyView ref="component" />
)
}
您可以像下面的那样做:
componentDidMount() {
this._myViewInstance.myMethod();
}
render() {
return (
<div><MyView ref={ref => this._myViewInstance = ref}/></div>
)
}