javascript - 为什么在 array.map() 中会多次生成 React-Tooltip?

标签 javascript reactjs tooltip

最近我开始使用 ReactJS,而且我是一个 super 初学者。这可能是一个非常简单的问题,但我不知道如何解决这个错误。

我在 this.state 中有 3 个图像,并使用 .map() 将它们分散到屏幕上。还有我从 https://www.npmjs.com/package/react-tooltip 下载的 ReactTooltip

但是有一些错误我无法修复,它甚至没有显示在控制台屏幕上。问题是每当您将鼠标点放在图像上时,ReactTooltip 就会生成多次。谁能帮我解决这个问题吗?

这是我的代码和示例演示。
演示:http://tooltip-test-moonformeli.c9users.io/
代码:enter image description here

感谢您的宝贵时间!

最佳答案

您似乎错误地使用了 ReactTooltip 组件。您只需包含一次 ReactTooltip 组件,并且应该使用 data-tip 属性为每个元素指定工具提示文本。因此,您可以将渲染函数更改为如下所示。

render(){
    const mapToState = this.state.data.map(planet, i) => {
      return (
        <div>
          <img data-tip={planet} src={planet}/>
        </div>
      );
    };

    return (
      <div>
        {mapToState}
        <ReactTooltip/>
      </div>
    );
}

关于javascript - 为什么在 array.map() 中会多次生成 React-Tooltip?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42883876/

相关文章:

reactjs - 组件正在更改不受控制的自动完成以进行控制

reactjs - 使用 UseEffect Hook 获取 API

javascript - react-icons 使用 webpack 解决错误

tooltip - 在Chart JS的tooltip中添加所有数据

javascript - 具有 id 的 Angular UI-Router 嵌套路由

javascript - 如何在 JavaScript 中按 4 个属性排序

由于逗号,Javascript 计算给出了错误的答案

javascript - 测量网页的内存使用情况

java - 在 JTextField 上的工具提示上切换大写锁定

css - 带内容的工具提示