`xxx` has no propType for native prop `xxx.allowFontScaling` of native type `boolean`



  • 想请教一个RN andoird 自定义view的问题:
    自制了一个android RN textview, 参照demo写:
    android端:
    public class CustomizedTextViewManager extends SimpleViewManager<CustomizedTextView> {
    ...
    }
    RN:
    var RNAndroidTextView = requireNativeComponent('CustomizedLinkTextView', iface);
    module.exports = RNAndroidTextView;

    在RN上使用时发现,如果不给<RNAndroidTextView>固定高度,整个View都不显示,及时设置为{flex:1}也不显示,但是设置为{height:100}则可以显示。但是后面这方法的高度无法按照文字多少来调节高度。

    后面仿照RN Text View,将Android端代码改为:
    public class CustomizedTextViewManager extends BaseViewManager<CustomizedTextView,ReactTextShadowNode> {
    ...
    },
    则红屏显示:
    CustomizedTextView has no propType for native prop CustomizedTextView.allowFontScaling of native type boolean

    请问这个问题怎么解。



  • 解决了
    在Rn导出到xxx.js文件中,也需要设置对应propTypes,在这个例子中,因为继承了RN Text View,所以需要添加Text.propTypes和View.propTypes
    ar iface = {
    name: 'CustomText',
    propTypes: {
    myProp1: PropTypes.string,
    myProp2: PropTypes.number,
    ...Text.propTypes, // must add this tow propTypes
    ...View.propTypes, // other wise will see the red screen
    }
    }


Log in to reply