Нарушение Инварианта: Аргумент, кажется, не является ReactComponent - PullRequest
0 голосов
/ 01 марта 2019

Мне нужно найти offsetLeft компонента.

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

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

Во время отладки я получаю значение переменной tesNo . После этого я получаю эту ошибку:

Рассмотрите возможность добавления границы ошибки к вашемудерево для настройки поведения обработки ошибок.Посетите этот сайт , чтобы узнать больше о границах ошибок.Нарушение инварианта: Аргумент, по-видимому, не является ReactComponent

Как решить эту ошибку?

1 Ответ

0 голосов
/ 04 марта 2019

Сам нашел ответ.

Поскольку я использую версию реагирования: "^ 16.3.2", я использовал API createRef ().

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}
   /*.......*/
/>
}
...