【发布时间】:2021-09-07 00:45:45
【问题描述】:
我正在制作一个简单的绘图示例,用户可以通过单击和拖动来绘制直线。
我想要实现的功能之一是能够通过双击删除一行,我遇到的问题是从状态数组中删除这样的行,我有一个基本的 example here。
不幸的是,当我尝试 console.log() 状态数组 allPaths 时,应用程序会冻结,但在我的本地设置中不会发生这种情况。
例如:
- 用户画了 4 条线
- 双击控制台日志的第一行,其 ID 和空状态数组[]
- 双击第四行,日志显示行 ID 和长度为 3 的状态数组,其中包含前 3 行,但它不显示整个数组...?
在我的本地设置中,当我在双击时console.log(allPaths) 在创建特定行之前获得allPaths 状态,它不会显示所有条目,但是当我在渲染方法中log 时它会显示所有条目都很好。
我不知道我做错了什么......
【问题讨论】:
-
JSON.stringify登录useEffect而不是直接登录allPaths——在修复我看到的一个冻结的沙箱中。 -
@DaveNewton,效果更好,但它不能解决问题,数组
allPaths正在返回在我试图删除的特定行之前创建的元素,即使allPaths是状态数组 -
没说是这样 ;) 只是循环时的一般调试提示。
标签: javascript reactjs state