使用Electronjs / SerialPort和React / Redux进行数组绑定

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用Electronjs / SerialPort和React / Redux进行数组绑定相关的知识,希望对你有一定的参考价值。

我几天用减速器挣扎,即使在动作后状态似乎正确,React Component也不会更新......

if (getPorts.test(action)) {
  var service = new SerialService();
  var dataResult = new Array<any>();
  service.listDevices(function (err: any, data: Array<any>) {
    data.forEach((item) => {
      dataResult.push({ ...item })
    });
  });
  return {
     ...state,
     ports: dataResult
  };
}

我尝试了很多方法,有或没有传播运算符(使用object.assign())

根据我的理解,由于列出设备的回调,可能会遗漏一些东西,猜测我不能很好地管理我应该如何更新UI。

任何想法或建议?

答案

我假设上面的代码片段是reducer的一部分。 Reducer应始终是同步的,您不能期望回调中的异步更新能够正确地更新渲染周期中的连接组件。尝试寻找redux中间件以支持异步操作。

以上是关于使用Electronjs / SerialPort和React / Redux进行数组绑定的主要内容,如果未能解决你的问题,请参考以下文章

自建exe使用Electronjs为自己写windows软件

ElectronJS:必须使用导入来加载 ES 模块

electronjs $(...).modal 不是函数

如何在 ElectronJS 中打印 DIV

将PortQry与ElectronJS桌面应用程序集成

React + electronjs 实现桌面软件开发引入 electronjs 及 node api