Javascript 更新redux状态时反应中的竞争条件
我正在尝试使用React+Redux创建一个国际象棋游戏。我有一个名为allValidMoves的函数,当拖动一个工件时会调用它。它更新存储所有可能有效移动的redux状态。同时,我有64个方形组件,它们试图在工件开始拖动时访问此地图。问题是 一些方块得到了先前的重排状态;我使用react dnd进行拖放Javascript 更新redux状态时反应中的竞争条件,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在尝试使用React+Redux创建一个国际象棋游戏。我有一个名为allValidMoves的函数,当拖动一个工件时会调用它。它更新存储所有可能有效移动的redux状态。同时,我有64个方形组件,它们试图在工件开始拖动时访问此地图。问题是 一些方块得到了先前的重排状态;我使用react dnd进行拖放 const pieces = () => { if(isDragging){ calculateValidMoves(); } } function calculat
const pieces = () => {
if(isDragging){
calculateValidMoves();
}
}
function calculateValidMoves() {
arr = {};
....
store.dispatch(update_validMoves('UPDATE',arr))
}
const Squares = (props) => {
arr = store.validMoves.getState()
if(arr.get(props.index)){
doSomething
}
}
我在你的密码上看到了,我想你想开始行动了吗? 更好地使用get State内部操作。 而redux thunk是异步的。因此,您可以通过操作redux上的wait/callback来避免这种竞争条件