如何在 react-native 中不使用 .bind(this) 来设置状态?
How to setState without using .bind(this) in react-native?
我不知道如何设置状态。
下面是我的代码...
import React from 'react';
import { StyleSheet, Text, View, TouchableHighlight, AsyncStorage, ListView } from 'react-native';
export default class App extends React.Component {
constructor(){
super();
this.state = {
myLeader: 'Joe',
};
}
setMyLeader(name){
this.setState({
myLeader: name
});
}
render() {
return (
<View>
<TouchableHighlight
style={{padding: 30}}
onPress={this.setState(myLeader: 'xxx')}
>
<Text>foo</Text>
</TouchableHighlight>
</View>
);
}
}
错误信息是这样的。 '找不到变量:myLeader'
如何解决这个问题?
在你的 onPress 函数中你可以:
a) 直接设置状态
onPress={() => this.setState({ myLeader: 'xxx' })}
b) 调用你的 setLeader 函数
onPress={() => this.setMyLeader('xxx')}
我不知道如何设置状态。 下面是我的代码...
import React from 'react';
import { StyleSheet, Text, View, TouchableHighlight, AsyncStorage, ListView } from 'react-native';
export default class App extends React.Component {
constructor(){
super();
this.state = {
myLeader: 'Joe',
};
}
setMyLeader(name){
this.setState({
myLeader: name
});
}
render() {
return (
<View>
<TouchableHighlight
style={{padding: 30}}
onPress={this.setState(myLeader: 'xxx')}
>
<Text>foo</Text>
</TouchableHighlight>
</View>
);
}
}
错误信息是这样的。 '找不到变量:myLeader'
如何解决这个问题?
在你的 onPress 函数中你可以:
a) 直接设置状态
onPress={() => this.setState({ myLeader: 'xxx' })}
b) 调用你的 setLeader 函数
onPress={() => this.setMyLeader('xxx')}