主要问题是shortcutshome类,其中必须将styles={}替换为style={}:
你的班级应该如下:
import React from 'react';
import { StyleSheet, Text, View, TouchableOpacity } from 'react-native';
export default class ShortcutsHome extends React.Component {
render() {
return (
<View style={styles.container}> // hear
<View style={[styles.four_six, styles.section]}> // hear
<TouchableOpacity
onPress={() => this.methodSelect('four')}>
<Text>4 hrs</Text>
</TouchableOpacity>
<TouchableOpacity
onPress={() => this.methodSelect('six')}>
<Text>6 hrs</Text>
</TouchableOpacity>
</View>
<View style={[styles.twelve_twenty_four, styles.section]}> // hear
<TouchableOpacity
onPress={() => this.methodSelect('twelve')}>
<Text>12 hrs</Text>
</TouchableOpacity>
<TouchableOpacity
onPress={() => this.methodSelect('twenty_four')}>
<Text>24 hrs</Text>
</TouchableOpacity>
</View>
<View style={[styles.daily_custom_daily, styles.section]}> // hear
<TouchableOpacity
onPress={() => this.methodSelect('daily')}>
<Text>Daily</Text>
</TouchableOpacity>
<TouchableOpacity
onPress={() => this.methodSelect('custom_daily')}>
<Text>Custom Daily</Text>
</TouchableOpacity>
</View>
<View style={styles.weekly}> // hear
<TouchableOpacity
onPress={() => this.methodSelect('weekly')}>
<Text>Weekly</Text>
</TouchableOpacity>
</View>
</View>
);
}
methodSelect = (strategy) => {
const { navigate } = this.props.navigation;
switch(strategy) {
case 'four':
break;
case 'six':
break;
case 'twelve':
break;
case 'twenty_four':
break;
case 'daily':
navigate('Tpd', { strategy: 'daily' });
break;
case 'weekly':
navigate('Tpd', { strategy: 'weekly' });
break;
case 'custom_daily':
navigate('Tpd', { strategy: 'custom_daily' });
break;
default:
alert("Something went wrong when selecting your strategy, please try again.");
}
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor: '#fff',
alignItems: 'center',
justifyContent: 'space-between',
},
section: {
flex: 1,
flexDirection: 'row',
justifyContent: 'space-between',
alignItems: 'center',
},
four_six: {
backgroundColor: '#ccc'
},
twelve_twenty_four: {
backgroundColor: '#aaa'
},
daily_custom_daily: {
backgroundColor: '#eee'
},
weekly: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#000'
}
});