Verwenden Sie die React-Native-Navigation, aber keinen Stack?
<p>Ich habe also kürzlich an React-Native gearbeitet und große Fortschritte gemacht. Ich weiß, wie man React-Navigation verwendet, sei es <code>@react-navigation/native-stack</code> oder <code>@react-navigation/bottom-tabs</code>. Es gibt keine Probleme bei der Verwendung dieser. </p>
<p>Aber um die von mir verwendeten Tools besser zu verstehen, habe ich eine Frage: </p>
<p>Wenn Sie den Navigator bestimmungsgemäß verwenden, erhalten Sie am Ende mehrere Bildschirme, die übereinander „gestapelt“ sind oder auseinandergezogen werden, wenn Sie zum vorherigen Bildschirm zurückkehren. Ich suche oft nach Design-Inspirationen bei Twitter und musste feststellen, dass die Webanwendung dieses Unternehmens nicht diesen „gestapelten“ Ansatz verwendet. </p>
<p>Der Einfachheit halber spreche ich hier nur von der Webseite, aber unter iOS ist es im Grunde dasselbe, die Bildschirme werden gestapelt. (Natürlich kann ich nicht sehen, ob die Twitter-App nicht so stapelbar ist wie die Web-App, aber was auch immer). </p>
<p><strong>Bei ordnungsgemäßer Verwendung des Navigators wie dokumentiert</strong></p>
<pre class="brush:php;toolbar:false;"><div style="z-index: 0; display: flex;">
//Bildschirminhalt
</div>
<div style="z-index: -1; display: none;">
//Inhalt von Bildschirm 2
</div>
<div style="z-index: -1; display: none;">
//Inhalt von Bildschirm 3
</div></pre>
<p>Alle Bildschirmkomponenten werden also technisch gerendert, nur der ausgewählte Bildschirm wird nicht ausgeblendet. </p>
<p>Ich möchte immer nur einen Bildschirm rendern, alle anderen Bildschirme werden nicht ausgeblendet. Wenn der Benutzer zu einem anderen Bildschirm „navigiert“, möchte ich, dass sich der Inhalt dieses einen Bildschirms ändert, je nachdem, welche Seite er besucht. </p>
<p>Twitter funktioniert so, dass es einen <code><main></main></code>-Container gibt, der den Inhalt der Seite enthält und je nachdem, auf welcher Seite sich der Benutzer befindet, den Inhalt ändert Behälter entsprechend Inhalt. Twitter verwendet React-Native, daher muss es eine Möglichkeit geben, dies zu tun. Ich wünschte, es gäbe zumindest eine halboffizielle Möglichkeit, dies zu tun, und nicht eine faktische Möglichkeit, dies zu tun. Ich habe in der Dokumentation von „React-Navigation“ gesucht, aber keine ähnliche Beschreibung gefunden. </p>
<p><strong>Zusammenfassung: </strong>React-Navigation „stapelt“ Bildschirme so, dass sie gleichzeitig existieren, aber nur der Bildschirm „oben“ im Stapel wird angezeigt. Ich suche nach einer Möglichkeit, nur einen Bildschirm zu verwenden und den Inhalt dieses Bildschirms basierend auf der Seite zu ändern, zu der der Benutzer navigiert. </p>
<p>Ich habe die Dokumentation für React-Navigation durchsucht und versucht, eine Beschreibung des Verhaltens zu finden, die meiner Suche ähnelt, habe aber nichts gefunden. Wenn es eine bessere React-Navigationsbibliothek gibt, die mehr von dem kann, was ich beschrieben habe, würde ich gerne darauf hinweisen. </p>