如何在不使用反应原生的.bind(this)的情况下设置state?

问题描述 投票:-1回答:1

我不知道如何设置状态。以下是我的代码......

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'

如何解决这个问题?

react-native setstate
1个回答
0
投票

在你的onPress功能中你可以:

a)直接设置状态

onPress={() => this.setState({ myLeader: 'xxx' })}

b)调用你的setLeader函数

onPress={() => this.setMyLeader('xxx')}
© www.soinside.com 2019 - 2024. All rights reserved.