Как получить позицию элемента React | Redux (.getBoundingClientRect() + .getWrappedInstance())

Я пытаюсь найти позицию компонента, отображаемого с помощью React. Я использую избыточность, поэтому мне пришлось изменить функцию подключения на:

export default connect(mapStateToProps, mapDispatchToProps,null,{ withRef: true })(MyComponent);

Теперь я получаю компонент обратно, когда я звоню:

class OneColumn extends Component { 
    componentDidMount(){

        var input = this.refs.myComponentsRef.getWrappedInstance();

        console.log(input); // Outputs > TheComponentIWant {props: Object, context: Object, refs: Object, updater: Object, _reactInternalInstance: ReactCompositeComponentWrapper…}

        var inputRect = input.getBoundingClientRect(); 
        console.log(inputRect); // Outputs error: Uncaught TypeError: input.getBoundingClientRect is not a function
    }
//...
}

Итак, я могу получить компонент, однако я не могу получить boundingClientRect.

Я что-то упускаю из виду?

Пожалуйста помоги:)


person DSz    schedule 13.06.2017    source источник


Ответы (1)


Я нашел альтернативное решение, которое позволяет обойти эту проблему: Этот пост описывает и ссылается на другой пост

В основном, когда компоненты начинают рендеринг, компоненты предоставляют функцию обратного вызова, в которой вы сохраняете позиции этих компонентов.

person DSz    schedule 13.06.2017