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

时间:2017-03-19 07:05:16

标签: javascript reactjs tooltip

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

我在this.state中有3张图片,并使用.map()将它们展开到屏幕上。还有从https://www.npmjs.com/package/react-tooltip

下载的ReactTooltip

但是有一些我无法解决的错误,甚至没有显示到控制台屏幕。问题是无论何时将鼠标指向图像,ReactTooltip都会多次生成。有人可以帮我解决这个问题吗?

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

感谢您的时间!

1 个答案:

答案 0 :(得分:3)

您似乎错误地使用了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>
    );
}