React native 在文本组件中添加默认颜色的更好方法?

React native 在文本组件中添加默认颜色的更好方法?,react-native,React Native,是否有人知道一种更改文本组件默认文本颜色的好方法 下面是我的尝试,将其包装在MyText组件中 import styles from 'somewhere'; // import default color function MyText(props) { return ( <Text style={[styles.default, props.style]} allowFontScaling={props.allowFontScaling}

是否有人知道一种更改文本组件默认文本颜色的好方法

下面是我的尝试,将其包装在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,
};
从“某处”导入样式;//导入默认颜色
函数MyText(道具){
返回(
{props.children}
);
}
MyText.propTypes={
allowFontScaling:PropTypes.bool,
孩子们:任何人,
numberOfLines:PropTypes.number,
onLayout:PropTypes.func,
onLongPress:PropTypes.func,
onPress:PropTypes.func,
样式:PropTypes.object,
抑制高亮显示:PropTypes.bool,
testID:PropTypes.string,
};
已解决

function MyText({
  children,
  style,
  ...props
}) {
  return (
    <Text
      {...props}
      style={[styles.default, style]}
    >
      {children}
    </Text>
  );
}
函数MyText({
儿童
风格
…道具
}) {
返回(
{儿童}
);
}

您可以用迷人的Native更干净、更简单地做到这一点:

import glamorous from "glamorous-native";

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

<MyText>
  ...
</MyText
从“魅力本土”导入魅力;
const MyText=glamorous.text({…styles});
...

您也可以使用
.defaultProps
这样的道具,我将我的道具放在my app.js根目录下,因为我的所有组件文本的默认颜色都是白色。您也可以在TextInput组件上执行此操作。在RN-0.63上测试


从“react native”导入{Text,TextInput}
导出默认MyApp(){
Text.defaultProps.style={color:'white'}
TextInput.defaultProps.style={color:'blue'}
返回(
我的颜色是白色的
我的颜色也是白色的
我的颜色是蓝色的
)
}

不能将子项
排除在解构之外,而只是作为
…道具的一部分传递