En mi cuadro combinado personalizado, estoy cambiando el modo de paginación de elementos al hacer clic como a continuación:
onClick={() => { changeState(itemsSelectorType, elements[i]); fetchItems(currentPagination, 0); }}(itemsSelectorType = currentPagination y elementos[i] = 24 o 48)
changeState está cambiando el valor de currentPagination en mi tienda de expresiones regulares y luego en fetchItems() uno de mis argumentos (currentPagination) es el de la tienda. El problema es que fetchItems lee el valor anterior de currentPagination, por lo que debo esperar la función changeState.
Intenté algo como esto, pero todavía lee el valor anterior, por ejemplo, cuando elijo 24, lee 48, cuando elijo 48, lee 24.
onClick={async () => { await changeState(itemsSelectorType, elements[i]); fetchItems(currentPagination, 0); }}Necesita obtener datos después de cambiar el modo de paginación.
Hay dos opciones. En primer lugar, sabe cómo se verá currentPagination con los elements[i] . Puedes pasarlo directamente así.
fetchItems(pagination_value, 0) En segundo lugar, puede llamar a fetchItems siempre que cambie la página currentPagination . Inserte este código en lugar de llamar a fetchItems en otro lugar.
React.useEffect(() => { fetchItems(currentPagination, 0) }, [currentPagination]);