react native 组件之间通信
父组件向子组件传递消息,数据通过对子组件的属性赋值来实现,如style属性等子组件向父组件传递消息,消息通过回调父组件传递给自己的回调函数来实现。回调函数由父组件设置,被保存在子组件的某个属性中,等待需要向父组件传递消息的时机到来。如onchangeText属性
无直接关系的组件间消息传递:通过无直接关系的公共父组件间接传递消息。对于这种间接传递消息,消息发送者不需要指定消息接受者,由公共父组件按照业务逻辑判断消息接受者是谁。
属性确认:
属性确认仅在开发环境下有效。属性确认的语法有。
1.要求属性是指定的javascript基本类型。
属性名称:
React.PropTypes.array;
React.PropTypes.bool;
React.PropTypes.func;
React.PropTypes.number;
React.PropTypes.object;
React.PropTypes.string;
2.要求属性是可渲染节点
指数字,字符串,数字数组,字符串数组.
React.PropTypes.node
3.要求属性是某个React元素
React.PropTypes.element
4.要求属性是某个指定类的实例
React.PropTypes.instanceOf(NameOfClass)
5.要求属性取值为几个特定的值
React.PropTypes.oneOf(['值1','值2'])
6.属性可以为指定类型中的任意一个
React.PropTypes.oneOfType([
React.PropTypes.node,
React.PropTypes.string
])
7.属性可以为指定类型的数组
React.PropTypes.arrayOf(React.PropTypes.number)
8.要求属性是一个有指定成员变量的对象
React.PropTypes.objectOf(React.PropTypes.number)
9.要求属性是一个指定构成方式的对象
React.PropTypes.shape({
color : React.PropTypes.string,
fontSize: React.PropTypes.number
})
10.属性可以为任意类型
React.PropTypes.any