使用带有react-redux 6.0.0和装饰器的refs

时间:2019-02-01 18:35:19

标签: redux react-redux decorator

我有以下内容:

export default
@connect(null, dispatch => ({ dispatch }))
class MyComponent extends React.PureComponent {

}

我有一个包裹它的组件:

export default class MyWrapper extends React.PureComponent {
  comp = React.createRef();

  render() { 
    return <MyComponent ref={this.comp}/>
  }
}

如何使用引用访问MyComponent

我尝试了{withRef: true},然后尝试了{forwardRef: true},并遇到了各种各样的错误。

2 个答案:

答案 0 :(得分:0)

对于每个the React-Redux connect docs,您需要将{forwardRef : true}作为选项传递给connect

connect(mapState, mapDispatch, mergeProps, {forwardRef : true}

无论您将connect用作单独的函数还是用作装饰器,都是相同的。

注意:作为参考,我们建议不要使用connect作为修饰符。

答案 1 :(得分:0)

问题出在"react-redux": "7.0.0"上。 connect功能已实现为功能性React组件,因此@decorators不再起作用。