定义我有一个函数currentPlayer
如下:本地变量没有在功能
function currentPlayer(players) {
return players.findIndex(player => player.current) || 0;
}
我想如下使用此功能在减速:
export function players(players = [], action) {
players = players.slice();
switch (action.type) {
...
case DELETE_PLAYER:
const currentPlayer = currentPlayer(players);
if (currentPlayer === action.index) {
players = switchNextPlayer(players, currentPlayer);
}
players.splice(action.index, 1);
}
return players;
}
在运行该代码,我收到以下错误:
ReferenceError: currentPlayer is not defined
如果我按如下方式更改变量名称,代码将起作用:
const currentPlayerIndex = currentPlayer(players);
我认为变量currentPlayer
将在减速功能的作用域。这里发生了什么?
'const currentPlayer = currentPlayer(players);'注意行中的3个名字 – Ryan
该函数正在被新的'currentPlayer'绑定所掩盖,而这个绑定在你评估它时还没有被初始化,所以你最终得到了一个参考错误 – MinusFour