2016-01-06 19 views
22

Con la regola forbid-prop-types abilitata, eslint mi impedisce di utilizzare style: React.PropTypes.object e si consiglia di utilizzare shape.Come dichiarare lo stile in propTypes?

Ma è davvero necessario definire tutte le proprietà disponibili lì per questo scopo in questo modo?

DEMO.propTypes = { 
    style: React.PropTypes.shape({ 
     color: React.PropTypes.string, 
     fontSize: React.PropTypes.number, 
     ... 
    }) 
}; 

Troppo codice di definizione!

risposta

10

Una possibilità è quella di utilizzare il pacchetto react-style-proptype in questo modo:

import stylePropType from 'react-style-proptype'; 

MyComponent.propTypes = { 
    style: stylePropType, 
}; 
6

React Native contiene ora ViewPropTypes, che sostituirà View.propTypes.style. Esempio di utilizzo:

import { ViewPropTypes } from 'react-native'; 

MyComponent.propTypes = { 
    style: ViewPropTypes.style 
}; 
+1

Hai visto un equivalente per il testo? TextPropTypes non sembra esistere nella base di codici di React Native View.propTypes non esiste più in fase di esecuzione in modalità di rilascio, non sono ancora sicuro se Text.propTypes lo fa. –

+0

@ BenClayton non ho. La documentazione RN per ViewPropTypes non è disponibile atm. – NiFi

Problemi correlati