首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >聆听Redux Store Polymer 2.0

聆听Redux Store Polymer 2.0
EN

Stack Overflow用户
提问于 2018-04-17 22:46:59
回答 1查看 94关注 0票数 1

我正在用Polymer 2开发一个应用程序,并且正在测试redux如何使用它来控制数据流。我一直在遵循一些简单的例子,并试图产生一个概念证明,其中我能够使用redux存储将一些数据从一个html移动到另一个html。

当一个html文件中的按钮被按下时,我正在运行以下函数:

代码语言:javascript
复制
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中运行以下代码:

代码语言:javascript
复制
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文件访问这个数组。此文件中的脚本块如下所示:

代码语言:javascript
复制
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);

在这个文件的模板标记中,我有以下代码:

代码语言:javascript
复制
<h1>data model [[payload]]</h1>

我认为这应该是显示来自第一个html文件的数组,但它只显示“数据模型”。我已经尝试在console.log -Model.html中使用它,但是redux似乎没有从redux存储中提取任何数据。

我已经检查了我所有的导入路径,并检查了拼写错误,但我无法找出为什么这不起作用。任何建议都是值得感谢的。

EN

回答 1

Stack Overflow用户

发布于 2018-04-18 16:54:14

解决这个问题的方法是微不足道的(我怀疑可能是这样)。在statePath上需要一个大写的P!

无论如何,感谢所有人的帮助

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49881199

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档