反应文本状态不会立即更新
React text state doesnt update immediately
我正在尝试更新文本并显示月份,日历会更新但月份不会更新,直到我单击下个月按钮两次,但如果我单击下个月按钮两次,该月也会更改两次日历,它在 header.
上显示上个月
这是三月份
这是四月,但显示的月份是三月。
这是我的代码
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}
/>
请帮助我是初学者
与其为日期对象和当前月份创建单独的状态,不如将 dateValue 保留为唯一状态并从中获取月份。
const [dateValue, setDateValue] = useState(moment());
const increaseMonth = () => {
setDateValue(moment(dateValue).add(1, "M"));
};
然后,您可以将您的月份值设置为
dateValue.format("MMMM-YYYY")
这有更少的代码,你只需要更新日期对象,然后当日期更新时你的月份也会更新。
我正在尝试更新文本并显示月份,日历会更新但月份不会更新,直到我单击下个月按钮两次,但如果我单击下个月按钮两次,该月也会更改两次日历,它在 header.
上显示上个月这是三月份
这是四月,但显示的月份是三月。
这是我的代码
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}
/>
请帮助我是初学者
与其为日期对象和当前月份创建单独的状态,不如将 dateValue 保留为唯一状态并从中获取月份。
const [dateValue, setDateValue] = useState(moment());
const increaseMonth = () => {
setDateValue(moment(dateValue).add(1, "M"));
};
然后,您可以将您的月份值设置为
dateValue.format("MMMM-YYYY")
这有更少的代码,你只需要更新日期对象,然后当日期更新时你的月份也会更新。