Comment déclarer le style dans les propTypes?
ne plaise-prop-types la règle est activée, eslint
m'interdit d'utiliser style: React.PropTypes.object
, et à l'aide de shape
est suggéré.
mais est-il vraiment nécessaire de définir toutes les propriétés disponibles à cet effet?
DEMO.propTypes = {
style: React.PropTypes.shape({
color: React.PropTypes.string,
fontSize: React.PropTypes.number,
...
})
};
trop de code de définition!
6 réponses
View.propTypes.style
ou
Text.propTypes.style
Il devrait ressembler à ceci:
DEMO.propTypes = {
style: Text.propTypes.style,
...
};
https://facebook.github.io/react-native/releases/0.21/docs/style.html#pass-styles-around
Réagir Natif contient maintenant ViewPropTypes
remplacer View.propTypes.style
. Exemple d'utilisation:
import { ViewPropTypes } from 'react-native';
MyComponent.propTypes = {
style: ViewPropTypes.style
};
Une possibilité est d'utiliser la méthode réagissent-style-proptype package:
import stylePropType from 'react-style-proptype';
MyComponent.propTypes = {
style: stylePropType,
};
Utiliser ViewPropTypes.style
. View.propTypes
a été dépréciées
j'ai l'habitude d'utiliser PropTypes.objectOf(PropTypes.string)
pas besoin de définir tout le style css.
Extension de @jalal246 réponse:
PropTypes.objectOf(PropTypes.oneOfType([
PropTypes.string,
PropTypes.number,
]))
cela peut être utilisé pour les styles web (référez d'autres réponses pour React-native) sans avoir à utiliser d'autres paquets pour cela.