tengo que recuperar un valor de api y almacenarlo en un estado. pero el valor devuelto por la API de ejecución es siempre el valor anterior de la ejecución.
así que considere que tengo 2 botones run1 y run2. al hacer clic en cualquiera de ellos, se llamará a la misma API de ejecución para ese elemento.
cuando se hace clic en run1 isComplete es verdadero desde api y para run2 isComplete es falso desde api.
cuando no se hace clic en ninguno de los botones run1 y run2, los datos devueltos no están definidos para el elemento y, por lo tanto, isComplete tampoco está definido. los datos son como a continuación,
data = [ { isCompleteRun: true,//this can be true or false } ]Ahora, si el usuario hace clic en Run1 btn, obtengo runinprogress true. e isComplete: verdadero, si se hace clic en run2 btn, runinprogress es verdadero e isComplete es falso.
tengo que mostrar dos elementos div basados en el valor de isCompleteRun.
{isRunInProgress && isCompleteRun && <div>first</div>} {isRunInProgress && !isCompleteRun && <div>second</div>}pero el problema es que isCompleteRun es el valor anterior a menos que se haga clic en el botón de ejecución. ¿Cómo puedo guardar isCompleteRun en el estado y actualizar el valor cada vez que se hace clic en ejecutar?
a continuación se muestra el código,
const isCompleteRun = React.useMemo(() => { return data?[0]?.isCompleteRun; }, [data]);el valor de isCompleteRun es siempre el valor de los datos anteriores durante algún tiempo, a menos que se haga clic en el botón de ejecución o no esté definido cuando no se hizo clic en ningún botón de ejecución por primera vez. alguien podría ayudarme a arreglar esto. Gracias.