上周部分学习踩坑

1. graphql 数据返回问题

  在绑定一语解忧后台时,因为UI的数据渲染是通过for循环将数组中的数据全部渲染。所以渲染出了一些多余的数据。然而其中有一条数据graphql中并没有选择,却一直返回了。就是typename字段

QQ20180902-203032.png

通过跟后端沟通不能删掉此字段,只能Apollo在前端控制。翻阅文档发现是因为使用InMemoryCache操作缓存引起的。

image.png

虽然没有使用任何属性,但属性addtypename它默认为true所以返回了typename字段,所以增加addtypename:false后

QQ20180902-203226.png

就不会返回此字段了。  

2  refetch(variables)

一语解忧后台要实现条件查询,因此要给query传入一些参数值,但是通过<Query query={} variables={}>   传入参数,通过setState改变传入的条件参数会直接使得每改变一次参数页面都重新刷新一次,但是页面需求通过搜索按钮来执行刷新,所以将refetch方法绑定到搜索按钮上,并传入参数。

image.png

这样点击按钮才会将参数传递给query,刷新页面。


3  react 日期格式化

因为要将日期选择器中选择的时间返回,并将参数传给query  ,但返回的时间格式不能够直接使用,所以要对时间进行格式化

返回的时间格式   Sun Sep 02 2018 21:21:32 GMT+0800 (中国标准时间)

需要格式    2018-09-02  

使用react的 moment 

import moment from "moment";


moment(“日期字符串”).format("YYYY-MM-DD");

日记本

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

赞赏支持
被以下专题收入,发现更多相似内容