Lidemy / mentor-program-2nd-futianshen

mentor-program-2nd-futianshen created by GitHub Classroom
14 stars 2 forks source link

week14 #45

Closed futianshen closed 5 years ago

futianshen commented 5 years ago

http://ftshen.tw/mentor/week14/#/

aszx87410 commented 5 years ago

大致上都 ok,有些小問題跟狀態的同步有關,例如說編輯文章之後文章頁面沒有更新,或者是刪除文章、新增文章以後文章頁面好像也不會更新。

要達成這種功能,必須先想說:「那我要怎麼知道我編輯文章成功了?」,這就是為什麼我們要有 isLoadingCreatePost這種 state 的原因,你可以這樣寫:

componentDidUpdate(prevProps) {
  if (prevProps.isLoadingCreatePost !== this.props.isLoadingCreatePost && !this.props.isLoadingCreatePost) {
    this.props.getPosts()
  }
}

根據 props 的變更,如果這次的 isLoadingCreatePost 是 false 而且上一個是 true,就代表新增文章的動作已經完成,就可以去重新拿所有文章,大概就是這樣的想法