+-
react native的onpress问题

代码如下

export default class app extends Component {
    state={
        name:''
    }
    render(){
        return(
            <View>
                <TextInput onChangeText={this.handle}></TextInput>
                <TouchableOpacity
                     onPress={this.handleSubmit(this.state.name)}>
                     <Text>提交</Text>
                </TouchableOpacity>
            </View>
        )
    }
    handle=(text)=>{
        this.setState({name:text})
    }
    handleSubmit=(name)=>{
        alert(name)
    }
}

问题:这样写的话每次输入文本都会调用handleSubmit函数,这是为什么

<TouchableOpacity
        onPress={()=>this.handleSubmit(this.state.name)}>
        <Text>提交</Text>
</TouchableOpacity>

这样写可以不触发,但是。。。为什么??

每次setState都会重新执行render函数,由于this.handleSubmit(this.state.name)是函数执行的形式,所以每次setState都会调用这个函数