加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React Native声明属性和属性确认

发布时间:2020-12-15 05:16:55 所属栏目:百科 来源:网络整理
导读:属性声明 因为用React Native创建的自定义组件可以复用,我们开发过程中可能一个项目组有多个人同时开发,其他同事可能会用到我们自定义的组件,但是他们使用的时候很容易忘记使用某些属性,这时候我们应该在自定义组件中声明一些属性。 //自定义组件 export def

属性声明

因为用React Native创建的自定义组件可以复用,我们开发过程中可能一个项目组有多个人同时开发,其他同事可能会用到我们自定义的组件,但是他们使用的时候很容易忘记使用某些属性,这时候我们应该在自定义组件中声明一些属性。

//自定义组件
export default class ConfirmDialog extends Component {
  //....
}
ConfirmDialog.propTypes = {
    userConfirmed: React.PropTypes.func.isRequired,userCanceled: React.PropTypes.func.isRequired,amIStillAlive: React.PropTypes.func.isRequired,promptToUser:React.PropTypes.string.isRequired
};

上面声明的属性都是 isRequired, 如果不传递这些属性程序会在开发阶段出现警告,开发阶段需要我们进行属性确认。

属性确认

属性确认只在开发阶段有效,上面我们声明了两种属性类型确认——func (函数),和string(字符串)。下面再来看看属性确认的语法:
一、要求属性是JavaScript基本类型

React.PropTypes.array;
React.PropTypes.bool;
React.PropTypes.func;
React.PropTypes.number;
React.PropTypes.object;
React.PropTypes.string;

二、要求属性是可渲染节点
指数字,字符串,数字数组,字符串数组.

React.PropTypes.node

要求属性是某个React元素

React.PropTypes.element

要求属性是某个指定类的实例

React.PropTypes.instanceOf(NameOfClass)

要求属性取值为几个特定的值

React.PropTypes.oneOf(['值1','值2'])

属性可以为指定类型中的任意一个

React.PropTypes.oneOfType([
    React.PropTypes.node,React.PropTypes.string  
])

属性可以为指定类型的数组

React.PropTypes.arrayOf(React.PropTypes.number)

要求属性是一个有指定成员变量的对象
下面的语句要求传入的对象有一个成员变量是number类型.

React.PropTypes.objectOf(React.PropTypes.number)

要求属性是一个指定构成方式的对象

React.PropTypes.shape({
      color : React.PropTypes.string,fontSize: React.PropTypes.number
})

属性可以为任意类型

React.PropTypes.any

上面的10种语法,都可以通过在后面加上isRequired声明它是必需的.

属性默认值

我们还可以给属性指定一个默认值,当没有传递该属性时使用默认值,如:

ConfirmDialog.defaultProps = { promptToUser: '确定吗?'
};

同时记得要将指定 promptToUser为必须的’isRequired’ 去掉.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读