小编lax*_*ike的帖子

Redux:集合中项目的派生数据

这是我的状态树的简化版本:

{
    "radius": 8,
    "nodes": [
        { "id": 1, "x": 10, "y": 10 },
        { "id": 2, "x": 15, "y": 10 },
        { "id": 3, "x": 20, "y": 10 }
    ]
}
Run Code Online (Sandbox Code Playgroud)

基本上,我有一个节点列表,每个节点都有一个x和一个y.我还有一个半径数,用于计算哪个其他节点在一个节点的半径范围内,即近邻.

我需要我的州看起来像这样:

{
    "radius": 8,
    "nodes": [
        { "id": 1, "x": 10, "y": 10, "neighbors": [2] },
        { "id": 2, "x": 15, "y": 10, "neighbors": [1, 3] },
        { "id": 3, "x": 20, "y": 10, "neighbors": [2] }
    ]
}
Run Code Online (Sandbox Code Playgroud)

邻居的计算相当昂贵,所以如果其中一个节点位置发生变化,我真的只想计算它.

我查看了使用的选择器,但我不确定选择器是否有效.为了导出给定节点的邻居,我需要整个节点列表和半径.如果我将整个节点列表传递给选择器,则选择器将重新计算节点集合中的任何内容是否已更改.我只需要重新计算任何节点的x或y值是否已更改.请注意,除了x和 …

reactjs redux

7
推荐指数
1
解决办法
741
查看次数

标签 统计

reactjs ×1

redux ×1