在 onBlur 和 onFocus 中连续 2 个 setState 之后只触发了 1 个渲染
Only 1 render triggered after 2 setState in onBlur & onFocus in a row
打开CodePen,切换控制台。
当使用keydown回调触发焦点改变时:
- 单击黑色区域聚焦
outside
div。
- 按任意 箭头键 聚焦
inside
div
- render 被调用 ONCE
使用点击触发焦点变化时:
- 单击黑色区域聚焦
outside
div。
- 按 Tab 或 单击黄色区域 聚焦
inside
div
- render 被调用 TWICE
两种场景下连续触发blur&focus事件,为什么渲染时间不一样?
我提交了一个错误来做出反应并得到了回应。
在这里查看:https://github.com/facebook/react/issues/19698
打开CodePen,切换控制台。
当使用keydown回调触发焦点改变时:
- 单击黑色区域聚焦
outside
div。 - 按任意 箭头键 聚焦
inside
div - render 被调用 ONCE
使用点击触发焦点变化时:
- 单击黑色区域聚焦
outside
div。 - 按 Tab 或 单击黄色区域 聚焦
inside
div - render 被调用 TWICE
两种场景下连续触发blur&focus事件,为什么渲染时间不一样?
我提交了一个错误来做出反应并得到了回应。 在这里查看:https://github.com/facebook/react/issues/19698