Reactでレンダリングされたコンポーネントの位置を見つけようとしています。私はreduxを使用しているので、接続関数を次のように変更する必要がありました。
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を取得することはできません。
私が見落としているものはありますか?
助けてください:)
この問題を回避する別の解決策を見つけました: この投稿は別の投稿を説明および参照しています
基本的に、コンポーネントがレンダリングを開始すると、コンポーネントの位置を格納するコールバック関数が提供されます。