2015-11-28 17 views
7

Diciamo che voglio usare un componente con lo stile di seguito definite:reagire-native: come ignorare lo stile predefinito definito in un componente

var styles = StyleSheet.create({ 
    container: { 
    backgroundColor: '#ffffff' 
    }, 
}); 

Posso ignorare lo stile di base con la mia in questo modo?

<Component style={backgroundColor: 'transparent'}></Component> 

Non ha funzionato per me, così chiedo se questo dipende se il componente supporta il comportamento.

+0

Dovrebbe funzionare esattamente in questo modo, forse la sintassi è disattivata? Prova style = {{backgroundColor: 'transparent'}}. –

risposta

15

La descrizione è un po 'vaga. È un componente che hai scritto da te? Supponendo che questo dovrebbe funzionare in questo modo:

export default React.createClass({ 
    render: function(){ 
    return(<View style={[ styles.container, this.props.style ]}>...</View> 
    } 
}) 

var styles = StyleSheet.create({ 
    container: { 
    backgroundColor: '#ffffff' 
    }, 
}); 
+0

è un componente di terze parti, preferisco non modificarlo, quindi la domanda. –

+0

Bene, allora devi controllare il loro codice, immagino. L'unico modo per ottenere qualsiasi cambiamento di stile in quel componente è tramite oggetti di scena. Devi guardare i loro elementi View e vedere se applicano oggetti di scena alle proprietà di stile. Neanche lo stile si chiamerebbe necessariamente. –

+0

Puoi provare a racchiudere il componente con una vista e aggiungervi degli stili. (ma potrebbe non essere applicabile a tutti i bambini in quanto non vi è alcun collegamento a cascata) – everlasto

Problemi correlati