Soy nuevo en reaccionar y estoy en un pequeño problema. Para obtener el valor de un menú desplegable de selección de reacción en particular, estoy usando una función de cambio. Aquí está el código para ello.
const [selectedStatusCondition, setSelectedStatusCondition] = React.useState(""); const handleMaterialStatusChange = (value) => { setSelectedStatusCondition(value); }; <GridItem xs={2}> <label>Material Status</label> <ConditionDDL id="materialstatusconditionDDL" options={conditionDDLItems} onChange={handleMaterialStatusChange} /> </GridItem>Sin embargo, necesito la función onChange para configurar otra función después de obtener el valor en el menú desplegable del componente de selección de reacción que tiene valores de E y A. Al hacer que E ejecute un conjunto de funciones y al obtener A ejecute un conjunto de funciones.
Por lo tanto, cambié el código para poner una función contenedora para hacer esto así:
<GridItem xs={2}> <label>Material Status</label> <ConditionDDL id="materialstatusconditionDDL" options={conditionDDLItems} onChange={() => wrapperfunctionconfirm()} /> </GridItem>y la función contenedora llama a la función de cambio de controlador de la selección de reacción de esta manera:
const wrapperfunctionconfirm = async (newToken = true) => { if (newToken) { const rsp = await getAuthorization(); } var defaultOptions = { headers: { Authorization: "Bearer " + localStorage.getItem("tcm_accessToken"), }, }; setShrink(true); handleMaterialStatusChange(false); var status = selectedStatusCondition.value; console.log( "Status=" + status ); };Sin embargo, obtengo un valor de estado como indefinido. Claramente, como set es un método asíncrono, el valor aún no está establecido. Como no puedo usar useEffect en el cambio de un valor desplegable para establecer el valor de inmediato. ¿Qué debo hacer? ¿Cómo cambio el valor de configuración de la función handlechange inmediatamente?
Por favor ayuda