1

几天以来我一直在努力使用减速器,即使在动作之后状态似乎正确,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。

有什么想法或建议吗?

4

1 回答 1

0

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

于 2017-12-19T16:35:41.120 回答