2015-12-10 18 views
10

मैं प्रतिक्रिया देशी में एक देशी दृश्य को लागू करने की कोशिश कर रहा हूँ, लेकिन रंगमंच की सामग्री के साथ कुछ समस्या हो रही है के लिए कोई propType।देशी कस्टम दृश्य प्रतिक्रिया, देशी प्रोप

मेरे पास android.view.View और विस्तारित com.facebook.react.uimanager.SimpleViewManager का विस्तार करने वाली कक्षा CustomView है।

प्रतिक्रिया इस तरह से किया जाता है के साथ बंधन:

'use strict'; 

var { requireNativeComponent, PropTypes } = require('react-native'); 

var iface = { 
    name: 'CustomView', 
    propTypes: { 
     myProp: PropTypes.string 
    }, 
}; 
module.exports = requireNativeComponent('CustomView', iface); 

जब मैं अपने प्रतिक्रिया अनुप्रयोग में इसका इस्तेमाल करते हैं, यह एक त्रुटि फेंकता है: क्योंकि SimpleViewManager कुछ मानक परिभाषित किया गया है

`CustomView` has no propType for native prop `CustomView.renderToHardwareTextureAndroid` of native type `boolean` 

यह है संपत्ति जैसे:

@ReactProp(name = PROP_BACKGROUND_COLOR, defaultInt = Color.TRANSPARENT, customType = "Color") 
public void setBackgroundColor(T view, int backgroundColor) { 
    view.setBackgroundColor(backgroundColor); 
} 

मैं इसे ठीक कर सकता हूं बस मेरी संपत्ति में प्रत्येक संपत्ति घोषित कर सकता हूं सीई वस्तु।

मैं मैन्युअल रूप से सभी रंगमंच की सामग्री को सूचीबद्ध नहीं करना चाहते हैं, तो सब है कि मेरे iface में रंगमंच की सामग्री के बिना उन्हें पता करने के लिए है डाल करने के लिए एक तरीका है?
कुछ की तरह:

var {standardViewProps} = require('react-native'); 

var iface = { 
    name: 'CustomView', 
    propTypes: { 
     ...standardViewProps, 
     myProp: PropTypes.string 
    } 
} 

उत्तर

18

संपादित करें 2017/06/02:

मूल निवासी 0.44 प्रतिक्रिया View.propTypes के उपयोग का त्याग दिया है।

import { ViewPropTypes } from "react-native"; 

/* later... */ 
propTypes: { 
    ...ViewPropTypes, 
    myProp: PropTypes.string 
} 

पिछला उत्तर:

बिल्कुल: इसके बजाय, निम्न कार्य करें

var View = React.View; 

/* later... */ 
propTypes: { 
    ...View.propTypes, 
    myProp: PropTypes.string 
} 
संबंधित मुद्दे