有谁知道更改Text组件的默认文本颜色的好方法?
这是我将它包装在MyText组件中的尝试。
import styles from 'somewhere'; // import default color
function MyText(props) {
return (
<Text
style={[styles.default, props.style]}
allowFontScaling={props.allowFontScaling}
numberOfLines={props.numberOfLines}
onLayout={props.onLayout}
onLongPress={props.onLongPress}
onPress={props.onPress}
suppressHighlighting={props.suppressHighlighting}
testID={props.testID}
>
{props.children}
</Text>
);
}
MyText.propTypes = {
allowFontScaling: PropTypes.bool,
children: PropTypes.any,
numberOfLines: PropTypes.number,
onLayout: PropTypes.func,
onLongPress: PropTypes.func,
onPress: PropTypes.func,
style: PropTypes.object,
suppressHighlighting: PropTypes.bool,
testID: PropTypes.string,
};
解决了
function MyText({
children,
style,
...props
}) {
return (
<Text
{...props}
style={[styles.default, style]}
>
{children}
</Text>
);
}
您可以使用Glamorous Native更干净简单地完成此操作:
import glamorous from "glamorous-native";
const MyText = glamorous.text({ ...styles });
<MyText>
...
</MyText