Reactjs 使用React Beauty dnd和Cloud Firestore进行闪存

Reactjs 使用React Beauty dnd和Cloud Firestore进行闪存,reactjs,firebase,redux,google-cloud-firestore,react-beautiful-dnd,Reactjs,Firebase,Redux,Google Cloud Firestore,React Beautiful Dnd,我正在开发一个react应用程序,它使用Firebase(CloudFireStore)、Redux和react-DnD 每当我将ToDo任务移动到另一列时,就会出现一个闪光。 我认为原因是一次调用多个请求到CloudFireStore。 下面是我用来向Cloud Firestore请求update()的代码 注意:虽然我使用了“transaction”,但我不愿意使用它,因为处理需要很长时间才能从云函数捕获数据。虽然也使用了“批处理”,但也出现了类似的闪光 以下是我在项目中使用的依赖项:

我正在开发一个react应用程序,它使用Firebase(CloudFireStore)、Redux和react-DnD

每当我将ToDo任务移动到另一列时,就会出现一个闪光。 我认为原因是一次调用多个请求到CloudFireStore。 下面是我用来向Cloud Firestore请求update()的代码

注意:虽然我使用了“transaction”,但我不愿意使用它,因为处理需要很长时间才能从云函数捕获数据。虽然也使用了“批处理”,但也出现了类似的闪光


以下是我在项目中使用的依赖项:

"firebase": "^7.6.1",
"moment": "^2.24.0",
"react": "^16.12.0",
"react-beautiful-dnd": "^12.2.0",
"react-dom": "^16.12.0",
"react-redux": "^5.1.1",
"react-redux-firebase": "^2.2.4",
"react-router-dom": "^5.1.2",
"react-scripts": "3.3.0",
"redux": "^4.0.5",
"redux-firestore": "^0.11.0",
"redux-thunk": "^2.3.0"

我也有类似的问题。之所以会发生这种情况,是因为对Firebase的调用是异步的,因此在执行
然后
之前会有一点延迟。而RBD要求效果
onDragEnd
是同步的

从:

onDragEnd(必需):拖动已结束。此响应程序负责同步应用由拖动导致的更改


解决方法是在致电Firebase之前手动升级状态。

您找到解决方案了吗?我也有同样的问题。我有很多令人敬畏的重新渲染。这可能也是你的问题吗?这正是我所做的,现在它像黄油一样光滑。
"firebase": "^7.6.1",
"moment": "^2.24.0",
"react": "^16.12.0",
"react-beautiful-dnd": "^12.2.0",
"react-dom": "^16.12.0",
"react-redux": "^5.1.1",
"react-redux-firebase": "^2.2.4",
"react-router-dom": "^5.1.2",
"react-scripts": "3.3.0",
"redux": "^4.0.5",
"redux-firestore": "^0.11.0",
"redux-thunk": "^2.3.0"