0
Reactは、通常のフローの外にコンポーネントをレンダリングする標準的な方法を提供しますか?測定対象の隠れた領域に反応要素をレンダリングする
隠し領域に子要素をレンダリングし、その寸法を測定し、この情報を使用して、コンポーネントのrender
メソッドから返される内容を変更したいとします。 React.render
を使用しようとするとエラーがスローされます:
Uncaught Invariant Violation: addComponentAsRefTo(...): Only a ReactOwner can have refs. You might be adding a ref to a component that was not created inside a component's `render` method
コンポーネントの内容(したがってそれらの寸法も同様)は、アプリケーションの状態によって異なります。アプリケーションのライフサイクルの任意の時点でこれを行う方法はありますか? – giaour
「二重レンダリング」技術を使用することができます。表示された状態が「非表示」に設定された状態でコンポーネントを1回レンダリングし、componentDidMountで測定を行い、可視性の状態を「可視」に設定すると、今度は正しい測定値で再レンダリングが行われます。その反応は残念ですが、反応ネイティブのようなonLayoutプロップはありません:) – hasseio