RN中自定义方法,最好使用属性来定义

自定义方法时最好不要向下面哪种定义

customPressHandler(){
    //不建议这样定义方法
    alert('你按下了按钮');
}

最好使用属性来定义,这样会把this绑定到这个方法上

customPressHandler =()=>{
    alert('你按下了按钮'+this.state.status);
};

完整代码:

import React, {Component} from "react";
import {Modal, Text, StyleSheet, TouchableHighlight, TouchableOpacity, View} from "react-native";

export default class ModalExample extends Component {
    state = {
        modalVisible: false,
        status: 1
    };

    setModalVisible(visible) {
        this.setState({modalVisible: visible});
    }

    /*customPressHandler(){
        //不建议这样定义方法
        alert('你按下了按钮');
    }*/
    customPressHandler = () => {
        //自定义的方法,请使用属性来定义,这里自定的把this绑定到这个方法上
        alert('你按下了按钮' + this.state.status);
    };

    render() {
        return (
            
                 {
                        alert("Modal has been closed.");
                    }}
                >
                    
                        
                            Hello World!

                             {
                                    this.setModalVisible(!this.state.modalVisible);
                                }}
                            >
                                Hide Modal
                            
                        
                        这是测试内容
                    
                

                 {
                        this.setModalVisible(true);
                    }}
                >
                    Show Modal
                
                
                    
                        确定
                    
                
            
        );
    }
}

const styles = StyleSheet.create({
    button: {
        width: 150,
        height: 40,
        borderRadius: 20,
        backgroundColor: 'green',
        justifyContent: 'center',
        overflow: 'hidden'
    },
    buttonText: {
        textAlign: 'center'
    }
});

你可能感兴趣的:(RN中自定义方法,最好使用属性来定义)