React ref returns a 'Connect' object instead of DOM

后端 未结 2 483
攒了一身酷
攒了一身酷 2020-12-31 11:38

I\'m trying to create dynamics refs for custom components created through the map function.

2条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-31 12:21

    It seems like Post is a connected component, while you actually want the wrapped one.

    react-redux ≥ 6.0.0

    Connect with forwardRef: true

    connect(null, null, null, { forwardRef: true })(Post);
    

    then add a ref normally:

    ref={ref => this. = ref}
    

    From the docs:

    If {forwardRef : true} has been passed to connect, adding a ref to the connected wrapper component will actually return the instance of the wrapped component.




    react-redux < 6

    Connect with withRef: true

    connect(null, null, null, { withRef: true })(Post);
    

    then use getWrappedInstance() to get the underlying connected component:

    this.refs[].getWrappedInstance()
    

    From the docs:

    [withRef] (Boolean): If true, stores a ref to the wrapped component instance and makes it available via getWrappedInstance() method. Default value: false

提交回复
热议问题