不变违规:参数似乎不是ReactComponent

时间:2019-03-01 06:54:02

标签: reactjs redux dom-node

我需要找到组件的 offsetLeft

componentDidMount(){
        var tesNo =ReactDOM.findDOMNode(this.refs.dropDown.refs.input.offsetLeft)

    }
<ReactAutocomplete
    ref="dropDown"
   /*.......*/
/>

在调试时,我得到变量 tesNo 的值。此后,我得到此错误:

考虑将错误边界添加到树中以自定义错误处理行为。 访问this site,以了解有关错误边界的更多信息。 不变违规:参数似乎不是ReactComponent

如何解决此错误?

1 个答案:

答案 0 :(得分:1)

我自己找到了答案。

由于我使用的是React版本:“ ^ 16.3.2”,因此我使用了createRef()API。

class Patient extends React.Component{
constructor(props){
    super(props)
    this.state = {
      postn:0
    }
this.dropDown=React.createRef()
}
componentDidMount(){
    let left = this.dropDown.current.refs.input.offsetLeft;
        this.setState({postn:left})
}
<ReactAutocomplete
    ref={this.dropDown}
   /*.......*/
/>
}