使用tippy.js与react-router

时间:2018-07-27 00:54:24

标签: reactjs react-router react-redux

一段时间以来,我一直在使用react-tippy软件包,但是很长一段时间都没有更新,并且有很多错误。

最近@atomiks为他的tippy.js库发布了一个React包装器。

我已经成功使用过,直到需要与React-Router或Redux一起使用。

我创建了一个沙盒,用于复制问题➡https://codesandbox.io/s/9yr3rmrkny

理想情况下,有人可以弄清楚如何调整tippy.js包装器以使用上下文呈现tippyInstance(对于redux和react-router)

2 个答案:

答案 0 :(得分:1)

实际上,Tippy已升级到v3,现在他们对React有了很好的支持。

https://github.com/atomiks/tippy.js-react

我发布的此问题不再是较新版本和React Component的问题

答案 1 :(得分:0)

问题在于Tippy的工作原理(即内部)。直接操作DOM,而不是通过React提供的virtual-dom。由于这个事实,建议完全不要将Tippy与React一起使用,因为它违反了与将jQuery与React一起使用的相同规则。 see here

可悲的是,更新包装器无济于事,因为在Tippy源代码中而不是在反应式包装器中发生了DOM操作。

我最终要做的是重建React中所需的Tippy功能。 还有其他一些工具提示库可以更好地适应React。

我意识到这不是最有用的答案,但想分享我遇到的问题,也感谢您提出这个问题,因为它有助于找出导致我的错误的原因。

编辑

如先前答案中指出的

和评论。这是旧版本的tippy(v <3.0)的问题。