【问题标题】:Why is React Interact JS intergration not updating correctly?为什么 React Interact JS 集成没有正确更新?
【发布时间】:2022-06-16 18:42:50
【问题描述】:

我正在尝试集成 InteractJS 和 ReactJS,我发现将项目从一个拖放区移动到另一个拖放区时出现了一个奇怪但可预测的问题,并且 UI 和底层状态对象数组之间不匹配。我意识到这很可能是我的代码中的一个错误,因为我的知识有限或 React 更新和/或 InteractJS 事件 - 或两者兼而有之 - 但在盯着它三天后,我非常感谢任何洞察可能导致这个问题的原因。

我创建了一个最小的codesandbox to demonstrate the problem

我可以将所有项目以相反的顺序拖动到放置区和放置区之间,并且状态和渲染输出都能正确更新。

但是,如果我将一个中间项目(即不是最后一个)从一个拖放区拖到另一个拖放区,React 会错误地在错误拖放区中的拖放项目之后立即重新渲染该对象。

我的问题是:为什么 React 渲染与中间项目的状态对象不匹配,但以相反的顺序拖动项目可以正常工作?

谢谢

【问题讨论】:

  • 我不确定,但也许是因为interactjs 直接与DOM 搞乱了,这对reactjs 不利,因为react 使用虚拟DOM。有一个包 reactablejs,它是用于 interactjs 的反应 HOC。尝试看看问题是否仍然存在

标签: reactjs interactjs


【解决方案1】:

在研究如何在 React.js 中处理多点触控手势(拖放、缩放、旋转等)时,我首先发现了 interactjs。它效果不佳,经过更多研究后,我发现enter link description here。良好的文档,它与动画库配合得很好。

我强烈建议不要在 React 项目中使用 interactjs。

【讨论】:

    猜你喜欢
    • 2021-06-07
    • 1970-01-01
    • 1970-01-01
    • 2018-03-20
    • 2018-04-22
    • 2021-02-19
    • 2019-03-07
    • 2020-07-01
    • 1970-01-01
    相关资源
    最近更新 更多