【发布时间】:2020-12-04 15:00:54
【问题描述】:
我制作了一个显示周日至周六的周历。问题是文本值不会改变,即使它在 console.log 中发生了变化。我尝试过使用 state 和 setState 但没有奏效!知道是什么问题吗?
const TextScreen =()=> {
let [Sunday_formatted, nextSunday] =useState()
let [Saturday_formatted, nextSaturday]=useState()
const getWeek = (date = new Date()) => {
const dayIndex = date.getDay();
const diffToLastSunday = (dayIndex !== 0) ? dayIndex -0 : 6;
const dateOfSunday = new Date(date.setDate(date.getDate() - diffToLastSunday));
const dateOfSaturday = new Date(date.setDate(dateOfSunday.getDate() + 6));
return [dateOfSunday, dateOfSaturday];
}
let [Sunday, Saturday] = getWeek();
console.log(Sunday,Saturday)
console.log("First/Last of week as Date Objects: ", Sunday, Saturday);
Sunday_formatted = moment(Sunday).format("DD");
Saturday_formatted = moment(Saturday).format("DD.MMMM");
console.log(Sunday_formatted, "-", Saturday_formatted);
function changeData(){
Sunday=moment(Sunday).add(7, 'days')
Saturday=moment(Saturday).add(7,'days')
nextSunday( moment(Sunday).format("DD"))
nextSaturday(moment(Saturday).format("DD.MMMM"))
console.log(nextSunday, '-', nextSaturday)
console.log('this is the new Sunday', Sunday_formatted)
}
return(
<View backgroundColor='#16DCD3'>
<View style={{flexDirection:'row', alignContent:'center', padding:20, alignItems:'center'}}>
<Ionicons name="ios-arrow-back" size={30} color="grey" />
<Text style={styles.content} >{Sunday_formatted}-{Saturday_formatted}</Text>
<Ionicons name="ios-arrow-forward" size={30} color="grey" onPress={()=>changeData()} />
</View>
</View>
)
}
【问题讨论】:
标签: reactjs react-native calendar momentjs use-state