我正在重写Recharts的工具提示功能,以便在页面的其他位置(另一个组件中)提供悬停数据。
<Tooltip content={ this.showTooltipData.bind(this) } />
showToolTipData触发一个动作创建器,它修改了当前渲染方法不敏感的状态树的一部分,但我仍然得到了可怕的反模式警告:
Warning: setState(...): Cannot update during an existing state transition (such as within `render` or another component's constructor). Render methods should be a pure function of props and state; constructor side-effects are an anti-pattern, but can be moved to `componentWillMount`.
此警告正确且不正确,因为呈现组件不受状态更改的影响。我关心这个问题的唯一原因是警告可能会使控制台发出垃圾邮件(有1000个点中有10个要悬停在上面)。
有更好的方法吗?我已经考虑过使用目标悬停数据组件的“私有”状态(与现在使用的redux状态相反),但我也需要其他地方的数据。将功能移至 componentWillMount()是不可能的。
有人发现了一种更安全的覆盖ToolTip功能的方法吗?
答案 0 :(得分:0)
Freakin'蟋蟀。一旦我得到时间,我会把它带到还原......