'No overload matches this call error in TouchableOpacity style
have some problem with TouchableOpacity styles.
When I add alignSelf , alignItem or JustifyContent, I get the next error:
TS2769: No overload matches this call. Overload 1 of 2, '(props: TouchableOpacityProps | Readonly<TouchableOpacityProps>): TouchableOpacity', gave the following error. Type '{ backgroundColor: string; alignSelf: string; alignItems: string; justifyContent: string; height: number; width: number; marginBottom: number; borderColor: string; borderRadius: number; shadowColor: string; shadowOffset: { ...; }; shadowOpacity: number; shadowRadius: number; elevation: number; }' is not assignable to type 'StyleProp<ViewStyle>'. Type '{ backgroundColor: string; alignSelf: string; alignItems: string; justifyContent: string; height: number; width: number; marginBottom: number; borderColor: string; borderRadius: number; shadowColor: string; shadowOffset: { ...; }; shadowOpacity: number; shadowRadius: number; elevation: number; }' is not assignable to type 'ViewStyle'. Types of property 'alignItems' are incompatible. Type 'string' is not assignable to type 'FlexAlignType | undefined'. Overload 2 of 2, '(props: TouchableOpacityProps, context: any): TouchableOpacity', gave the following error. Type '{ backgroundColor: string; alignSelf: string; alignItems: string; justifyContent: string; height: number; width: number; marginBottom: number; borderColor: string; borderRadius: number; shadowColor: string; shadowOffset: { ...; }; shadowOpacity: number; shadowRadius: number; elevation: number; }' is not assignable to type 'StyleProp<ViewStyle>'. index.d.ts(5031, 5): The expected type comes from property 'style' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes<TouchableOpacity> & Readonly<TouchableOpacityProps> & Readonly<...>' index.d.ts(5031, 5): The expected type comes from property 'style' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes<TouchableOpacity> & Readonly<TouchableOpacityProps> & Readonly<...>'
I've tried to put these 3 styles to view, and get the same error...
Here is my ts component
import React, {FC, ReactElement} from 'react';
import {Text, TouchableOpacity} from 'react-native';
import {BORDER_RADIUS, DIMENSIONS, SHADOW, TEXT_BASE} from '../../theme/theme';
import {Colors} from '../../theme/colors';
interface Props {
buttonText: string;
onPress: () => void;
}
const SubmitButtonPink: FC<Props> = (props): ReactElement => {
const {buttonText, onPress} = props;
return (
<TouchableOpacity style={styles.enabled} onPress={onPress}>
<Text style={styles.textStyle}>{buttonText}</Text>
</TouchableOpacity>
);
};
const styles = {
enabled: {
...SHADOW.small,
backgroundColor: Colors.mainColor,
alignSelf: 'center',
alignItems: 'center',
justifyContent: 'center',
height: 50,
width: DIMENSIONS.width * 0.7,
marginBottom: 15,
borderColor: Colors.borderColor,
borderRadius: BORDER_RADIUS.large,
},
textStyle: {
...TEXT_BASE.textBold,
color: Colors.white,
},
};
export default SubmitButtonPink;
Any idea why it's happens ?
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
