React Native:模块化造型

时间:2016-07-22 11:04:38

标签: reactjs react-native

foo.js (来自React Native样板的代码块):

from ctypes import windll, Structure, byref
from ctypes.wintypes import LPWSTR, DWORD, FILETIME

class WIN32_FILE_ATTRIBUTE_DATA(Structure):
    _fields_ = [("dwFileAttributes", DWORD),
                ("ftCreationTime", FILETIME),
                ("ftLastAccessTime", FILETIME),
                ("ftLastWriteTime", FILETIME),
                ("nFileSizeHigh", DWORD),
                ("nFileSizeLow", DWORD)]

filename = 'path and file name'

wfad = WIN32_FILE_ATTRIBUTE_DATA()
GetFileExInfoStandard = 0
windll.kernel32.GetFileAttributesExW(LPWSTR(filename), GetFileExInfoStandard, byref(wfad))
lowtime = long(wfad.ftLastWriteTime.dwLowDateTime)
hightime = long(wfad.ftLastWriteTime.dwHighDateTime)
filetime = (hightime << 32) + lowtime
print filetime

从不同文件 bar.js 声明新样式的最佳方法是什么?

1)将新属性添加到const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', backgroundColor: '#F5FCFF', }, welcome: { fontSize: 20, textAlign: 'center', margin: 10, }, instructions: { textAlign: 'center', color: '#333333', marginBottom: 5, }, });

styles

2)或者创建新的//import styles from 'foo.js' styles.forNewComponent = { fontSize: 30, }; obj?

StyleSheet

使用1)方法时,const StylesforNewComponent = StyleSheet.create({ fontSize: 30, }); 输出为:

console.log(styles);

为什么Object {container: 3, welcome: 4, instructions: 5, forNewComponent: Object}的值是一个对象,但其他属性有forNewComponent我做错了吗?我会遇到性能问题吗?

1 个答案:

答案 0 :(得分:1)

使用StyleSheet.create代替普通对象。因为StyleSheet创建了类似缓存的东西。

  

static create(obj) - 从给定对象创建StyleSheet样式引用。

当你使用StyleSheet时 - 如果你在风格上做错了什么,你会收到警告

好的做法是1个组件= 1个样式表