En React, la definición de una función de orden superior es que si el parámetro recibido por una función específica es otra función o el valor de retorno de la llamada sigue siendo una función, entonces la función especificada se llama función superior común de orden superior; -Funciones de orden Hay Promise, setTimeout, "arr.map()", etc.
El entorno operativo de este tutorial: sistema Windows 10, versión de reacción 17.0.1, computadora Dell G3.
Función de orden superior: si una función cumple cualquiera de las dos especificaciones siguientes, entonces la función es una función de orden superior.
1. Si el parámetro recibido por la función A es una función, entonces A puede denominarse función de orden superior.
2. Si el valor de retorno de la función A sigue siendo una función, entonces A puede denominarse función de orden superior.
Las funciones comunes de orden superior incluyen: Promise, setTimeout, arr.map(), etc.
Los ejemplos son los siguientes:
Los siguientes casos son funciones de orden superior.
saveFormData = (event)=>{return ()=>{console.log('@');}}<form onSubmit={this.handleSubmit}>Nombre de usuario:<input onChange={this.saveFormData('nombre de usuario') } tipo="text" nombre="nombre de usuario"/>Contraseña: <input onChange={this.saveFormData('contraseña')} tipo="contraseña" nombre="contraseña"/><botón>Iniciar sesión</botón> < /formulario>a. this.saveFormData('username') utiliza el valor de retorno de saveFormData como devolución de llamada de onChange, no saveFormData como devolución de llamada.
b. Si usa this.saveFormData('nombre de usuario'), entonces la función de asignación saveFormData debe devolver algo a onChange. Proporcione el valor de retorno (función devuelta) de la función de asignación saveFormData a onChange como una devolución de llamada.
c. Entonces imprimimos el símbolo '@' en la función de retorno de saveFormData, luego el valor impreso se devolverá a onChange y el símbolo @ se imprimirá mientras se ingresa en el cuadro de entrada.
d. El tipo de datos pasado por saveFormData es en realidad nombre de usuario y contraseña.
e. Lo que llamamos al ingresar debe ser la función de retorno. Return es la devolución de llamada real. React me ayuda a pasar el evento al volver a llamar. A través de event.target.value, podemos obtener el valor que generamos.
saveFormData = (dataType)=>{// console.log(dataType);return (event)=>{// console.log('@');console.log(dataType,event.target.value);}}f. El contenido se puede generar. Podemos usar setState para guardarlo en el estado.
this.setState({[tipo de datos]:event.target.value})