Reagieren nativen flexbox - how zu tun Prozentsätze || Spalten || responsive || grid etc

Nach der Arbeit mit react native auf iOS für die letzten paar Wochen, scheine ich über einige Unzulänglichkeiten der flex styling... vor Allem, wenn es um "responsive" Verhalten.

Zum Beispiel, können sagen, Sie möchten eine Ansicht erstellen, enthält Karten (die Metadaten für diese Karten kommt von einer API). Sie möchten die Karten werden 50% der view Breite abzüglich der margin & padding und wickeln nach jedem 2.

Reagieren nativen flexbox - how zu tun Prozentsätze || Spalten || responsive || grid etc

Den aktuellen Umsetzung habe ich für diese Ansicht teilt das zurückgegebene array in Zeilen, die mit 2 items. Die Liste der container hat flex: 1, flexDirection: 'column, die Zeilen haben flex: 1 und dann jede Karte hat flex: 1. Das Endergebnis ist jede Zeile hat 2 Spalten, die gleichmäßig dauern, bis die Hälfte der view Breite.

Wie es scheint, gibt es keinen einfachen Weg, dies zu tun Reagieren Native Stile, ohne Verwendung von javascript zu tun, irgendeine Art von pre-processing auf die Daten, so dass es aus dem Stil richtig. Hat jemand irgendwelche Vorschläge?

  • Haben Sie versucht, die "flexWrap" ?
  • Ja, aber flexWrap funktioniert nur, wenn es zu einem überlauf von Kindern, die nur ausgelöst werden, wenn es eine width-Eigenschaft angegeben wird, auf die Kinder. @niceass
  • Und was stimmt nicht mit der Angabe von 50% Breite? Nicht, dass das, was Sie sowieso wollen?
  • Es gibt kein Konzept von % in Reagieren nativen @niceass
  • War an dieser Frage interessiert, und für das Leben von mir nicht bekommen konnte diese Arbeit mit flexbox allein. Für uns, wir haben um die Abmessungen, die zum berechnen der Fensterbreite und kann dann leicht zu verwenden, 50% Breite, etc. Ich habe eine Zusammenfassung mit einem Beispiel arbeiten, was Sie wollen, aber zugegeben, es ist viel Ausführlicher, als ich es gern haben würde! gist.github.com/dabit3/72138f22120f835dfb92 . Dies ist, wie es aussieht: i.imgur.com/z5HD3GR.png
  • Interessant. Ich dachte, dies könnte das sein, was es wieder zu sich kam. Wir denken an die Schaffung eines flexbox-grid-Komponente, die ähnlich wie die Lösung, wenn es wirklich keine reinen Stile Lösung.
  • Hier ist auf RNPlay (die wurde nicht den gesamten Tag, also Es kann oder kann nicht geladen ) rnplay.org/apps/5vqO7g

InformationsquelleAutor Alek Hurst | 2016-01-22
Schreibe einen Kommentar