Mam następującą metodę renderowania w moim kodzie React Native:
render() {
const {height, width} = Dimensions.get('window');
return (
<View style={styles.container}>
<Image
style={{
height:height,
width:width,
}}
source={require('image!foo')}
resizeMode='cover'
/>
<TouchableHighlight style={styles.button}/>
</View>
);
}
Daje mi
React.Children.only oczekuje, że otrzyma pojedynczy element potomny React
błąd. Jeśli usunę TouchableHighlight
komponent, działa dobrze. Z drugiej strony, jeśli usunę komponent Image, nadal wyświetla ten błąd. Nie rozumiem, dlaczego miałby powodować ten błąd i <View>
powinien być w stanie mieć w sobie więcej niż jeden komponent do renderowania.
Jakieś pomysły?
źródło
<TouchableHighlight>
element może mieć tylko jedno dziecko w środkuźródło
W moim przypadku musiałem po prostu odłożyć element o jedną linię w dół:
To generuje błąd:
export function DismissKeyboard(props: IProps) { return <TouchableWithoutFeedback onPress={() => Keyboard.dismiss()}> {props.children} </TouchableWithoutFeedback>; }
Chociaż nie powoduje to błędu:
export function DismissKeyboard(props: IProps) { return <TouchableWithoutFeedback onPress={() => Keyboard.dismiss()}> {props.children} </TouchableWithoutFeedback>; }
źródło