嗨,我是新来的,所以请耐心等待。 以下是我的代码......
import React from 'react';
import { StyleSheet, Text, View, TouchableHighlight, AsyncStorage} from 'react-native';
export default class App extends React.Component {
constructor(){
super();
this.state = {
myLeader: 'Joe',
};
}
onPress(){
alert({this.state.myLeader}); // 14
}
render() {
return (
<View>
<TouchableHighlight onPress={this.onPress.bind(this)}>
<Text>{this.state.myLeader}</Text>
</TouchableHighlight>
</View>
);
}
}
如何解决这个问题?
错误信息是这样的。 '这是Home.js中的保留字(14.9):14.9' 我想在
中使用{this.state.myLeader}onPress(){
alert({this.state.myLeader});
}
我试过'绑定(这个)' 有什么线索的原因?
答案 0 :(得分:0)
答案 1 :(得分:0)
小心使用{}
。在JSX的上下文中,{}
可用于&#34;内插&#34;其中的一个值。但是,如果您正在编写纯JavaScript代码(如在alert({this.state.myLeader})
中),则不需要插入任何内容,只需将值this.state.myLeader
传递给alert
,就像在alert(this.state.myLeader)
中一样。 alert
。
关于在React Native中使用Alert.alert
,您可能希望关注@kytwb's advise并使用const routes: Routes = [
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'signup', loadChildren: 'sighup/sighup.module#SignUpModule' },
{ path: 'front-end', loadChildren: 'front-end/front-end.module#FrontEndModule' },
];
。
答案 2 :(得分:0)
首先,从react-native导入警报:
import { StyleSheet, Alert, Text, View, TouchableHighlight, AsyncStorage} from 'react-native';
然后,更改onPress功能:
onPress(){
Alert.alert(this.state.myLeader); // 14
}
答案 3 :(得分:0)
另一个解决方案是忘记绑定并执行此操作:
onPress = () => {
alert({this.state.myLeader}); // 14
}
<TouchableHighlight onPress={this.onPress}>