2017-05-03 66 views
0

在下面的F8App代码片段中,我无法理解正在发生的事情,有人可以解释代码行3中发生了什么,并指向网络上我可以阅读的资源这个。了解Javascript和React原生

'use strict'; 

import {StyleSheet, Platform} from 'react-native'; 

export function create(styles: Object): {[name: string]: number} { 
    const platformStyles = {}; 
    Object.keys(styles).forEach((name) => { 
    let {ios, android, ...style} = {...styles[name]}; 
    if (ios && Platform.OS === 'ios') { 
     style = {...style, ...ios}; 
    } 
    if (android && Platform.OS === 'android') { 
     style = {...style, ...android}; 
    } 
    platformStyles[name] = style; 
    }); 
    return StyleSheet.create(platformStyles); 
} 
+0

了解Ecma 6,这里没什么特别的,只是语法。 – eden

+0

你能解释一下这个'导出函数create(styles:Object):{[name:string]:number}' – kanduken

+0

它导出一个函数,它将“由字符串组成的数组和关键字名称”作为参数,函数(create)最终返回一个数字。这种类型被称为静态类型,流,确切地说。 – eden

回答

1

我觉得你有与同时添加的type checking麻烦。这其实不是es6,而是flow。您可以阅读更多关于它的信息here