React / Apollo fetchMore重新加载整个页面

时间:2019-04-02 14:49:45

标签: reactjs apollo react-apollo

我尝试对我的Web应用程序上的数据列表执行分页/ fetchMore按钮时遇到问题。我的问题是,当我单击fetchMore按钮时,整个页面都是按旧学校风格重新加载,而我只希望重新加载“ calculs”的更新列表,而不希望重新加载其余查询(用户...)。

是否有办法限制fetchMore之后更新的内容?不想重新渲染整个DOM。

我还尝试发送一个特定的查询,只是重新满足了我的需要,但是我也遇到了一个错误。

这是代码的必要部分:

with c(rn, group_id, week, weeks, promotion_description, media_support) as (
  select 1, group_id, start_yearweek, weeks, promotion_description, media_support from t 
  union all
  select rn + 1, group_id, week + 1, weeks, promotion_description, media_support 
    from c where rn < weeks)
select group_id, week, weeks, promotion_description, media_support from c 

1 个答案:

答案 0 :(得分:0)

实际上,我发现问题与我的查询有关。在我查询组件所需的全部数据时,并且有了

if(loading)

声明,每次进行重新染整时,整个页面都会再次加载,因此整个页面都在渲染

<p>Loading...</p>

即使加载时间很小->导致我的整页“刷新”

为了解决此问题,我创建了一个子组件,该子组件还包括一个Apollo Query组件,但仅包含我要重新获取的查询。不会无意义地刷新具有用户adminCalculations和adminUsers查询的父组件,并且仅重新引用和重新渲染所需的子查询。