抛出的错误是:意外的令牌,预期; (9:16) 这指向renderNumbers()函数的第一行.我的语法有什么问题?我对这里需要改变什么以使其工作有点困惑. import React, { PropTypes } from 'react';import { StyleS
这指向renderNumbers()函数的第一行.我的语法有什么问题?我对这里需要改变什么以使其工作有点困惑.
import React, { PropTypes } from 'react';
import {
StyleSheet,
View,
Text,
TouchableOpacity
} from 'react-native';
renderNumbers() {
return this.props.numbers.map(n =>
<Text>{n}</Text>
);
}
export default class Counter extends React.Component {
render() {
return (
<View style={styles.container}>
<Text style={styles.appName}>
Countly
</Text>
<Text style={styles.tally}>
Tally: {this.props.count}
</Text>
<Text style={styles.tally}>
Numbers: {this.props.numbers}
</Text>
<View>
{this.renderNumbers()}
</View>
<TouchableOpacity onPress={this.props.increment} style={styles.button}>
<Text style={styles.buttonText}>
+
</Text>
</TouchableOpacity>
<TouchableOpacity onPress={this.props.decrement} style={styles.button}>
<Text style={styles.buttonText}>
-
</Text>
</TouchableOpacity>
<TouchableOpacity onPress={this.props.power} style={styles.button}>
<Text style={styles.buttonText}>
pow
</Text>
</TouchableOpacity>
<TouchableOpacity onPress={this.props.zero} style={styles.button}>
<Text style={styles.buttonText}>
0
</Text>
</TouchableOpacity>
</View>
);
}
}
Counter.propTypes = {
count: PropTypes.number,
numbers: PropTypes.func,
increment: PropTypes.func,
decrement: PropTypes.func,
zero: PropTypes.func,
power: PropTypes.func
};
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF'
},
appName: {
fontSize: 20,
textAlign: 'center',
margin: 10
},
tally: {
textAlign: 'center',
color: '#333333',
marginBottom: 20,
fontSize: 25
},
button: {
backgroundColor: 'blue',
width: 100,
marginBottom: 20,
padding: 20
},
buttonText: {
color: 'white',
textAlign: 'center',
fontSize: 20
}
});
谢谢您的帮助.
你不应该使用函数renderNumbers()?看起来renderNumbers不是类Counter的方法,而是代码中的单个函数.顺便说一句,renderNumbers被定义了两次,虽然它是合法的而不是问题的原因.
编辑:
如果要将renderNumbers()声明为类计数器的prototype method,请在类中定义它:
export default class Counter extends React.Component {
renderNumbers() {
...
}
...
}
否则,使用关键字功能定义function:
function renderNumbers() {
...
}
这只是ES6的语法.
