Estoy tratando de actualizar el texto y mostrar el mes, el calendario se actualiza pero el mes no se actualiza hasta que hago clic dos veces en el botón del mes siguiente, pero si hago clic dos veces en el botón del mes siguiente, el mes también cambia dos veces en el calendario y se muestra el mes anterior en la cabecera.
Este es el mes de marzo
Este es el mes de abril, pero el mes que se muestra es marzo.
este es mi código
const [showmonth, setShowMonth] = useState(moment().format("MMMM-YYYY")); const [dateValue, setDateValue] = useState(moment()); const increaseMonth = () => { setDateValue(moment(dateValue).add(1, "M")); onDateChange(dateValue); }; function onDateChange(value) { setShowMonth(value.format("MMMM-YYYY")); } <RightOutlined style={{ fontSize: "23px", fontWeight: "700", cursor: "pointer", }} onClick={increaseMonth} />Ayuda por favor soy principiante
En lugar de hacer estados separados para su objeto de fecha y el mes actual, ¿por qué no mantener el valor de fecha como el único estado y obtener el mes de eso?
const [dateValue, setDateValue] = useState(moment()); const increaseMonth = () => { setDateValue(moment(dateValue).add(1, "M")); };Luego, puede hacer que el valor de su mes sea
dateValue.format("MMMM-YYYY")Esto tiene menos código y solo tiene que actualizar el objeto de fecha y luego su mes se actualizará cuando se actualicen los días.