全国咨询热线:18720358503

小程序开发选哪家好_详解react

类别:行业新闻 发布时间:2021-01-08 浏览人次:

详解react-refetch的使用小例子       这篇文章主要介绍了详解react-refetch的使用小例子,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
.then(response = response.json response.json() : response) .then(data = this.setState({data})) render() { return Part {...this.state} {...this.pro凡科抠图} / const ListWithGists = withData('users/gaearon/gists')(List)

上面的代码,我们将api获取数据的逻辑用高阶组件抽离出来,下面我们再用react-refetch来简化上面的异步代码

import { connect as refetchConnect } from 'react-refetch'
const List = ({gists}) = {
 if (gists.pending) {
 return div loading... /div 
 } else if (gists.rejected) {
 return div {gists.reason} /div 
 } else if (gists.fulfilled) {
 return (
 gists.fulfilled ul 
 {gists.value.map(gist = (
 li key={gist.id} {gist.description} /li 
 /ul 
const ListWithGists = refetchConnect(() = ({gists: `users/gaearon/gists`}))(List)

瞬间清爽多了,顺便利用react-refetch提供的属性,顺便把loading逻辑也添加了

分离列表和项目的职责

很明显,List组件是一个渲染列表的组件,他的职责就是渲染列表,但是我们在这里也处理了单个Item的逻辑,我们可以将其进行职责分离,List只做列表染,而Gist也只渲染自身

const Gist = ({description}) = (
 {description}
 /li 
const List = ({gists}) = {
 if (gists.pending) {
 return div loading... /div 
 } else if (gists.rejected) {
 return div {gists.reason} /div 
 } else if (gists.fulfilled) {
 return (
 gists.fulfilled ul 
 {gists.value.map(gist = Gist key={gist.id} {...gist} / )}
 /ul 

使用react-refetch来给Gist添加功能

react-refetch的connect方法接收一个函数作为参数,这个函数返回一个对象,如果结果对象的值是一个字符串,那么获取prop后,会对这个字符串发起请求,但是如果值是一个函数,那么不会立即执行,而是会传递给组件,以便后续使用

值为字符串

const connectWithStar = refetchConnect(() = ({gists: `users/gaearon/gists`}))

值为函数

const connectWithStar = refetchConnect(({id}) = ({
 star: () = ({
 starResponse: {
 url: `gists/${id}/star ${token}`,
 method: 'PUT'
const Gist = ({description, star}) = (
 {description}
 button star} +1 /button 
 /li 

加工Gist组件,star函数会被传递给Gist的prop,然后就可以在Gist里面使用了

connectWithStar(Gist)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持凡科。


推荐阅读

小程序开发选哪家好_详解react

详细说明react-refetch的应用小事例 本文关键详细介绍了详细说明react-refetch的应用小事例,网编感觉挺好的,如今共享给大伙儿,也给大伙儿做下参照。一起追随网编回来看一下吧...

2021-01-08
广州凡科互联网科技股份有限公司招聘销售代表

招聘人数:16职位信息直说吧,我们要人你要钱,那你就来仔细看看吧能给你的薪资福利!!!以人为本,员工是公司宝贵的财富,乐芙为优秀的人才提供具有市场竞争力的薪资待遇,完...

2021-01-08
广州凡科互联网科技股份有限公司招聘(包吃住

招聘人数:11职位信息工作内容:公司***。通过公司提供的电话、网络联系客户,与客户沟通交流。职位要求:1、不甘平庸,有上进心,热情,有克服困难的信心及决心2、表达清晰,勤...

2021-01-08
广州凡科互联网科技股份有限公司招聘互联网产

招聘人数:8职位信息岗位职责:1.负责公司移动端产品设计与管理工作,跟进产品需求到实现的闭环;2.对用户心理和深层次需求有强烈的好奇心和探究的行动力,根据用户调研和数据分...

2021-01-08
广州凡科互联网科技股份有限公司招聘急聘电话

招聘人数:20职位信息:以上职位有无经验均可,试用期有老员工带及带薪免费专业培训、公司会***,系统及电话。工作内容:1、通过电话、微信邀约意向客户(公司提供资源),促进...

2021-01-08
广州凡科互联网科技股份有限公司招聘一线工作

招聘人数:21职位信息一、薪酬待遇3~6个月试用期通过后,税前年薪11~40万,根据工作成绩有差别;上不封顶;主要组成:绩效工资、项目提成、奖金;其他:员工餐厅、电脑补贴、带薪...

2021-01-08
X

400-8700-61718720358503
企业邮箱2639601583@qq.com
官方微信