Bietet React eine Standardmethode zum Rendern einer Komponente außerhalb des normalen Flusses?Rendern eines Reaktivelements in einen verborgenen Bereich für die Messung
Ich möchte ein untergeordnetes Element in einem ausgeblendeten Bereich darstellen, seine Abmessungen messen und dann anhand dieser Informationen ändern, was von der render
-Methode der Komponente zurückgegeben wird. Der Versuch, React.render
zu verwenden, wirft einen Fehler:
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
Der Inhalt der Komponenten (und damit auch ihre Abmessungen) hängt vom Anwendungszustand ab. Gibt es eine Möglichkeit, dies zu einem beliebigen Zeitpunkt im Lebenszyklus einer Anwendung zu tun? – giaour
Sie können die Doppelrendering-Technik anwenden. Einmal rendern mit einem Sichtbarkeitszustand, der für die Komponente "versteckt" ist, die Messung im componentDidMount durchführen und den Status der Sichtbarkeit auf "sichtbar" setzen, was zu einem erneuten Rendering führt, diesmal mit den richtigen berechneten Messungen. Es ist eine Schande, dass reagieren nicht eine onLayout-Prop wie Reactive-native hat :) – hasseio