状态由一个随机创建数字数组 (+ 0) 的函数进行水合,如下所示:
[[3, 0], [6, 0], [8, 0], [2, 0].....]
这就是应用程序目前的状态。[3, 0] 是包含数字 3 且不可见 (0) 的图块示例号码 (3)
所以如果我点击第一个图块,状态会变成:[[3, 1], [6, 0], [8, 0], [2, 0].....]
现在,我想添加以下内容:
随时跟踪未发现的瓷砖数量(即,将 1 作为第二个元素)。
将未覆盖的瓷砖数量限制为 2(如果第二个瓷砖的数量与第一个不匹配,则两者都被再次覆盖 - 许多记忆游戏具有类似的功能)
如果我揭开一个瓷砖然后第二个和数字匹配,我希望它们永远保持未被揭开,我们将 +1 加到分数上。
我是否应该将其设计为主要状态的不同部分(使用不同的减速器,然后使用 combineReducers)?或者我应该重新设计状态的第一部分以包括它如下:
initialState = {
grid: [[3,0], [4,0],...],
score: 0,
number_of_uncovered_tiles: 0
}
现在更改 score 和 number_of_uncovered_tiles 的值 - 我是否正确,我不应该使用操作,而是选择器,因为两者都将根据网格数组元素值的状态自动计算?