2017-05-03 103 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