簡體   English   中英

收聽Redux Store Polymer 2.0

[英]Listening to Redux Store Polymer 2.0

我正在Polymer 2中開發一個應用程序,並測試了Redux如何與它一起使用來控制數據流。 我一直在遵循一些簡單的示例,並試圖提供一種概念證明,其中我可以使用Redux存儲將一些數據從一個html移到另一個html。

在html文件中按下按鈕時,我正在運行以下功能:

savePackage() {
  const payload = {"Package Name" : "Integrations", "Description" : "A package for the integrations team"};
  this.dispatch('add', payload);
}

然后,此函數將操作分派到我的redux-store.html,在此我可以確認可以使用console.log看到該對象。

然后,在我的redux-store.html中,運行以下代碼:

const reducer = (state, action) => {
  switch (action.type) {
    case 'UPDATE_PACKAGE':
      const payload = action.newdata;
      console.log(payload);
      return Object.assign({}, state, { payload });
  }
};

const store = Redux.createStore(reducer);
const ReduxMixin = PolymerRedux(store);

據我了解(通過在線閱讀),我應該能夠從另一個名為data-model.html的html文件中訪問此數組。 該文件中的腳本塊如下所示:

class DataModel extends ReduxMixin(Polymer.Element) {
      static get is() { return 'data-model'; }
      static get properties() {
        return {
          payload: {
            type: Array,
            statepath: 'payload'
          }
        };
      }
    }

    customElements.define(DataModel.is, DataModel);

在該文件內的模板標簽內,我有以下代碼:

<h1>data model [[payload]]</h1>

我相信這應該顯示第一個html文件中的數組,但是它只顯示“數據模型”。 我試圖在data-model.html中將console.log記錄下來,但是看來redux並沒有從redux存儲中提取任何數據。

我已經檢查了所有導入路徑並檢查了拼寫錯誤,但是我無法弄清為什么它不起作用。 任何建議表示贊賞。

解決此問題的方法很簡單(我懷疑可能是這樣)。 在statePath上需要大寫字母P!

仍然感謝您的所有幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM