如何在 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')}