预取数据阿波罗

时间:2017-03-10 18:57:59

标签: reactjs react-apollo apollo-client

我一直在玩阿波罗和反思,并且有疑问。

我已经实现了一个功能,可以在onMouseOver上预取数据,当我将鼠标悬停在那个"组件上时#34;它同时发出两个相同的请求。有什么想法吗?

Network Request

const prefetchData = (id) => () => {
    client.query({
      query:FETCH_DATA,
      variables:{id},
    })
  }
<Link style={{ textDecoration: 'none' }} onMouseOver={prefetchData(id)} to={`/posts/${id}`}>

2 个答案:

答案 0 :(得分:0)

可能是<Link />冒出的鼠标事件依赖于您在<Link />内鼠标悬停的dom元素。

答案 1 :(得分:0)

从onMouseOver更改为onMouseEnter就可以了。

<Link style={{ textDecoration: 'none' }} onMouseEnter={prefetchData(id)} to={`/posts/${id}`}>