如何扩展react-native组件打字稿

时间:2018-02-25 00:43:05

标签: typescript react-native

我正在尝试编写要在反应原生应用程序中使用的文本组件

如下

import React from 'react';
import { Text, TextProperties, StyleSheet } from 'react-native';
import Colors from '../Colors';

export default (props: TextProperties) => <Text style={styles.text} {...props} />

const styles = StyleSheet.create({
    text: {
        color: Colors.primary,
        fontSize: 24,
        fontWeight: 'bold'
    }
});

实际上,我正在尝试在单个位置应用样式,并在整个应用程序中使用它。

我的问题是typescript编译器抱怨:

 error TS2559: Type '{ children: string; }' has no properties in common with type 'IntrinsicAttributes & TextProperties'.

1 个答案:

答案 0 :(得分:0)

我找到了解决方案。我做的是。

import React from 'react';
import { Text, TextProperties, StyleSheet } from 'react-native';
import Colors from '../Colors';

export default (props: Props) => <Text style={styles.text} {...props} />

interface Props extends TextProperties {
   children: string;
}
const styles = StyleSheet.create({
    text: {
        color: Colors.primary,
        fontSize: 24,
        fontWeight: 'bold'
    }
});