react native 语法知识点

作者: 牵着蜗牛散步Zz | 来源:发表于2017-10-20 08:38 被阅读48次

    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 : '',
    };

    相关文章

      网友评论

        本文标题:react native 语法知识点

        本文链接:https://www.haomeiwen.com/subject/yremuxtx.html