2016-01-06 11 views
22

Z włączoną regułą forbid-prop-types, eslint zabrania mi używania style: React.PropTypes.object i sugeruje użycie shape.Jak zadeklarować styl w propTypes?

Ale czy naprawdę konieczne jest zdefiniowanie wszystkich dostępnych właściwości w tym celu?

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

Zbyt dużo kodu definicji!

Odpowiedz

10

Jedną z możliwości jest użycie pakietu react-style-proptype tak:

import stylePropType from 'react-style-proptype'; 

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

React Native zawiera teraz ViewPropTypes, który zastąpi View.propTypes.style. Przykład użycia:

import { ViewPropTypes } from 'react-native'; 

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

Czy widziałeś odpowiednik dla tekstu? TextPropTypes wydaje się nie istnieć w React Native codebase View.propTypes już nie istnieje w czasie uruchamiania w trybie wydania, nie jestem jeszcze pewien, czy Text.propTypes ma. –

+0

@BenClayton Nie mam. Dokumentacja RN dla ViewPropTypes również nie jest dostępna w bankomacie. – NiFi