vuexデータは変更され、コンポーネント内のページはレンダリングされません.

1138 ワード

vuexデータは変更され、コンポーネント内のページはレンダリングされません.
多くのvuex初心者がこのような問題に直面していると信じています.
  • vuexデータ更新後、プラグインでデータを使用する箇所は
  • 更新されなかった.
    このようなコード
    data() {
        return {
          tableData: this.$store.state.AdminInfo
        };
      }
    
    

    次にtemplateでtableDataを使用
    
       	
       	
    
    
    

    これにより、データの変更がレンダリングされないという問題が発生します.
    問題を解決するには、vueライフサイクルを理解しなければなりません.ページのロード前にtableDataがstoreの値を取得して自分に割り当てます.このようにtableDataは初期値が1つしかありません.その後、vuexで状態が変わり、tableDataに再び割り当てられません.ページのリフレッシュが再ロードされない限り、グループライフサイクルが再開始されなければ、最新の値が解決されません.
    1.コンポーネントのtableDataの状態を外し、テンプレートに$store.state.AdminInfoを直接使用することで、いつでも最新の状態値を取得できます
    
       	
       	
    
    
    

    2.mapStateを使用する、vuex中の状態をコンポーネントに暴露してから使用し、具体的には文書vuex mapState公式文書を参照する.