我需要通过React Native应用程序中的单个事件处理程序来处理一些输入,但不要使用lambda函数,因为在我的应用程序中它被禁止。使用lambda函数,您可以只发送第二个参数,它可能像这样:
<TextInput
placeholder = 'email'
onSubmitEditing ={Keyboard.dismiss}
onChangeText = {(text) => { this.handleTwoInputs(text, 'email'); }}
autoCorrect = {false}
/>
<TextInput
placeholder = 'name'
onSubmitEditing ={Keyboard.dismiss}
onChangeText = {(text) => { this.handleTwoInputs(text, 'name'); }}
autoCorrect = {false}
/>
handleTwoInputs = (text, type) => {
if(type === 'name'){
this.inputName = text;
} else {
this.inputEmail = text;
}
}
但是没有lambda函数怎么办?
尝试这样的事情:
onChange = (e) => {
this.setState({
[e.target.name]: e.target.value
})
}
<TextInput
placeholder = 'email'
name={'email'}
onSubmitEditing ={Keyboard.dismiss}
onChangeText = { this.onChange; }
autoCorrect = {false}
/>
您不需要使用箭头功能:
<TextInput
placeholder = 'email'
onSubmitEditing ={Keyboard.dismiss}
onChangeText = {function(text) { this.handleTwoInputs(text, 'email'); }}
autoCorrect = {false}
/>
<TextInput
placeholder = 'name'
onSubmitEditing ={Keyboard.dismiss}
onChangeText = {function(text) { this.handleTwoInputs(text, 'name'); }}
autoCorrect = {false}
/>