我正在使用星期日历,因此我尝试将其制作成日历,以便我的日历可以显示未来的星期并返回到当前星期。单击“前进”按钮时,我想显示给我的状态一个新值。哪个工作正常(它在控制台中工作),只是我的视图不变,所以我认为它不会用新值更新组件。有谁知道我该怎么做才能使我的组件显示更新的值?
代码:
CREATE OR REPLACE FUNCTION word_pairs(sentence text) RETURNS TABLE (word1 text, word2 text) AS $SQL$
SELECT word, lead(word, 1) OVER () FROM split_words(sentence) as t(word)
$SQL$ LANGUAGE SQL IMMUTABLE;
SELECT * from word_pairs('Welcome to Stack Overflow!');
答案 0 :(得分:1)
您可以在docs for moment中看到add
对原始日期对象进行了突变。
这意味着您正在执行以下操作来改变状态:
const day = this.state.showCalendarDay
this.setState({
showCalendarDay:day.add(7,'days'),
})
当您改变状态时,react并不总是能捕捉到更改,也没有任何方法知道应该重新呈现。
您需要首先创建原始moment
对象的副本。 here给出了更详细的说明。
结果将是这样的:
const day = this.state.showCalendarDay.clone();
this.setState({
showCalendarDay:day.add(7,'days'),
})