为Text组件添加默认颜色的更好方法是什么?

问题描述 投票:4回答:2

有谁知道更改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,
};
react-native
2个回答
2
投票

解决了

function MyText({
  children,
  style,
  ...props
}) {
  return (
    <Text
      {...props}
      style={[styles.default, style]}
    >
      {children}
    </Text>
  );
}

1
投票

您可以使用Glamorous Native更干净简单地完成此操作:

import glamorous from "glamorous-native";

const MyText = glamorous.text({ ...styles });

<MyText>
  ...
</MyText
© www.soinside.com 2019 - 2024. All rights reserved.