在我用injectIntl​​包裹之后失去反应组件ref

时间:2017-06-28 14:51:49

标签: javascript reactjs

我在使用injectIntl​​包装它后,在React组件中获取func的问题。 基本上我需要的是通过ref访问组件中的func 这就是我在做什么

class MainContainer extends React.Component {
    constructor(props) {
        super(props);
        }

    getSamples(){
      return sth
    }

   render() {
        return (<div>this.props.sth</div>)
        }

export default injectIntl(MainContainer )

用injectIntl​​包装后可以将ref引到MainContainer吗?

2 个答案:

答案 0 :(得分:2)

应传递withRef选项。

export default injectIntl(MainContainer,{ withRef: true })

可以使用

检索MainContainer包装器组件实例
<MainContainer ref={c => { this.container = c; }} />

可以使用

检索包装的组件实例
this.container.getWrappedInstance();

答案 1 :(得分:0)

import pyodbc as db # forgot the imports conn = pyodbc.connect(driver=driver, server=serv, database=db,port = prt, uid=usr, pwd=passwd) conn.setdecoding(db.SQL_CHAR, encoding='latin1') conn.setencoding('latin1') 有一个 injectIntl 属性,导致它向下传递 ref 给被包装的组件。

forwardRef

reference