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

Posted

技术标签:

【中文标题】使用 Electronjs/SerialPort 和 React/Redux 的数组绑定【英文标题】:Array Binding with Electronjs/SerialPort & React/Redux 【发布时间】:2018-06-01 23:17:34 【问题描述】:

几天以来我一直在努力使用减速器,即使在状态看起来正确的操作之后,React 组件也不会更新......

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。

有什么想法或建议吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

谢谢你的回答,你说得对,这只是我reducer的一部分。我会看看中间件。

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

测试使用

第一篇 用于测试使用

在使用加载数据流步骤的猪中,使用(使用 PigStorage)和不使用它有啥区别?

今目标使用教程 今目标任务使用篇

Qt静态编译时使用OpenSSL有三种方式(不使用,动态使用,静态使用,默认是动态使用)

MySQL db 在按日期排序时使用“使用位置;使用临时;使用文件排序”