I'm learning react native, and I ran into this problem, I'm trying to export a Class to another Screen, but "View config getter callback for component... must be a function" appears, if anyone can help me I'll be extremely grateful, I'll print de code below. Should I change the Class for a function? Is there any other way to export this code as a Class?
import React from 'react';
import { StyleSheet, Dimensions, ScrollView } from 'react-native';
import { Button, Block, Text, Input, theme } from 'galio-framework';
const { width } = Dimensions.get('screen');
export default class menuLateral extends React.Component {
renderSearch = () => {
const { navigation } = this.props;
const iconCamera = <Icon size={16} color={theme.COLORS.MUTED} name="zoom-in" family="material" />
return (
<Input
right
color="black"
style={styles.search}
iconContent={iconCamera}
placeholder="What are you looking for?"
onFocus={() => navigation.navigate('Pro')}
/>
)
}
renderTabs = () => {
const { navigation } = this.props;
return (
<Block row style={styles.tabs}>
<Button shadowless style={[styles.tab, styles.divider]} onPress={() => navigation.navigate('Pro')}>
<Block row middle>
<Icon name="grid" family="feather" style={{ paddingRight: 8 }} />
<Text size={16} style={styles.tabTitle}>Categories</Text>
</Block>
</Button>
<Button shadowless style={styles.tab} onPress={() => navigation.navigate('Pro')}>
<Block row middle>
<Icon size={16} name="camera-18" family="GalioExtra" style={{ paddingRight: 8 }} />
<Text size={16} style={styles.tabTitle}>Best Deals</Text>
</Block>
</Button>
</Block>
)
}
}
const styles = StyleSheet.create({
home: {
width: width,
},
search: {
height: 48,
width: width - 32,
marginHorizontal: 16,
borderWidth: 1,
borderRadius: 3,
},
tabs: {
marginBottom: 24,
marginTop: 10,
elevation: 4,
},
tab: {
backgroundColor: theme.COLORS.TRANSPARENT,
width: width * 0.50,
borderRadius: 0,
borderWidth: 0,
height: 24,
elevation: 0,
},
tabTitle: {
lineHeight: 19,
fontWeight: '300'
},
divider: {
borderRightWidth: 0.3,
borderRightColor: theme.COLORS.MUTED,
},
})
React components have to start with a capital letter so that's the first issue. Second issue is that react components need a render function.