我正在尝试在React应用中显示时间,并希望以12小时格式显示。
如果小时数显示13或更多,我已经编写了一个删除'12'的函数。我想将该函数传递给setState,但继续出现语法错误。
setTimeDate() {
const hours = currentDate.getHours()
const min = currentDate.getMinutes()
this.setState(formattedHours(prevState, this.props) {
time: `${hours}:${min}`
}
)
}
formattedHours() {
if(hours > 13) {
afternoonHours = `${(hours - 12)} "PM"`
} else {
morningHours = `${hours} "AM"`
}
}
render() {
const { time } = this.state
return (
<div className="showTime">
{ time }
</div>
)
}
我应该看下午1:31,但是在setState行中只是出现语法错误。我无法超越。
除此之外,如何通过以前的状态?
答案 0 :(得分:0)
要传递以前的状态,可以使用生命周期方法 componentDidUpdate(prevProps,prevState),该方法接收prevState和prevProps作为参数,因此您可以在此处访问它们。