Sto scrivendo un componente React Native per una libreria e voglio che gli utenti siano in grado di modificarlo utilizzando la proprietà style
, proprio come React.View
e altri componenti incorporati.Ottieni valori di proprietà CSS dal puntello "stile" di un componente
Tuttavia, dato che il mio componente è in realtà costituito da un paio di vista nested, ho bisogno di fare alcuni calcoli per capire che cosa styling per mettere sulle interne quelli. Ad esempio, potrei aver bisogno di regolare il dimensionamento di un'immagine in base allo spessore di un bordo attorno ad esso, o regolare un colore di evidenziazione basato sul colore del testo dato, o in qualche altro modo dedurre un pezzo di stile da un altro pezzo di stile .
Per fare ciò, devo essere in grado di estrarre le proprietà CSS effettive (come borderWidth: 2
o backgroundColor: 'pink'
) da tutto ciò che viene passato come il puntello style
. Questo va bene fintanto che viene come un oggetto semplice, ma potrebbe anche essere il risultato di una chiamata a React.StyleSheet.create
. Questo sembra essere un oggetto opaco con tutti i selettori semplicemente mappati su ID numerici.
Come posso risolvere questi e ottenere le proprietà CSS effettive, al fine di fare qualcosa di più complicato con loro che semplicemente passandoli direttamente su un View
?
Questo gestisce solo il caso in cui ciò che viene passato come il puntello 'style' è il valore di ritorno del' Reagire. StyleSheet.create() ', ma ci sono molte altre cose valide da passare come' style'. –