[英]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.