我正在使用 react/redux/javascript 开发 The Game of Life 的一个版本,而我正在使用它,但性能却很糟糕。
目前,我每时每刻都在更新每个单元格的状态(用户可更改 250,500,750 毫秒)。为此,我正在遍历代表每个单元格的对象数组。在每个对象中都有一个名为 status 的参数,它可以是一个整数,1 代表活着,0 代表死。
然后我将三个单元格的三行拉入,对于有问题的单元格周围的上述中间和底部行,然后我将这些值相加(不包括中心的单元格本身)。
然后我通过 if/then 流程运行该数字以决定该单元格的新状态。
然后对应用程序中的每个单元重复此过程。完成后,每个单元的新状态将使用 redux 分派,并根据需要更新组件。
在实际视图中,每个单元格都是一个react组件,它从作为网格的容器接收它的状态作为props。我已设置 shoulComponentRender() 以仅在单元格的生命状态发生变化时重新渲染单元格。
我认为通过分析应用程序(我不是很清楚/擅长),它是计算所有值的过程使事情变慢,但我可能是错的,它可能是 React 组件导致问题。
任何帮助/协助表示赞赏!