1、“:”与 “=”在语法上的区别。
const myStyle = StyleSheet.create({
viewStyle: {
backgroundColor: 'white',
flex: 1,
flexDirection: 'column',
justifyContent: 'center',
},
});
前面的“=”是一个赋值过程,是一个动作,而里面的 viewStyle则类似一个申明,没有动作执行。
2、this.state.key = value 与this.setState(key: value);的区别
后者可以动态的改变value,尤其在页面渲染中这种方式能够实时的刷新页面显示的值,而前者只是单纯的赋值,在页面显示中改变的值是无法刷新的,因为页面不知道值已经改变了。
3、react native 语法中的{{ .... }} 两个括号分别是什么意思:外层的括号代表执行里面的代码的意思,内层的括号代表一个结构体,比如{fontSize:96},它是一个json或者map类型的结构体,有key,value的结构。
eg:第一个与第二个具有同样的效果
屏幕快照 2017-10-20 上午9.52.06.png 屏幕快照 2017-10-20 上午9.53.19.png
4、关于=> 省略 return
eg: renderItem={({item}) => <Text style={styles.item}>{item}</Text>}
正常情况下一个js方法可以这样写: () => {} ,或者() => ...code... 如果是后者那么code里面的内容直接当return 的值返回了,不用写"return",如果按前者的方式来写,如果需要返回值,那么必须要加上"return"。
5、方法调用this.function 与this.function()有什么不同。
eg: onPress=this.function表示将function对象赋值给onPress,并不会执行,而后者就直接执行这个方法了。
6、props与state。
props是从上一个页面传入过来的静态的值,并不会发生改变,而state就像一个状态机,值可以随便改变,并在页面中体现出来。(http://www.cnblogs.com/wujy/p/5853613.html)
7、ES6如何初始化props:
eg: static defaultProps = {
leftIcon : '',
leftTitle : '',
rightTitle : '',
};
网友评论