深入REACT技术栈.pdf P185

这是一个关于React组件的示例,展示如何在CommentList组件中处理数据加载及错误状态。组件首先设置初始状态为加载中,然后利用`componentDidMount`生命周期方法发起API请求获取评论数据。成功时,将数据更新到组件状态;失败时,显示错误信息。渲染部分根据状态展示加载提示、错误信息或评论列表。
摘要由CSDN通过智能技术生成
import React, { Component, PropTypes } from 'react'; 
class CommentList extends Component { 
 constructor(props) { 
 super(props); 
 this.state = { 
 loading: true, 
 error: null, 
 value: null, 
 }; 
 } 
 componentDidMount() { 
 this.props.promise.then(response => response.json()) 
 .then(value => this.setState({ loading: false, value })) 
 .catch(error => this.setState({ loading: false, error })); 
 } 
 render() { 
 if (this.state.loading) { 
 return <span>Loading...</span>; 
 } else if (this.state.error !== null) { 
 return <span>Error: {this.state.error.message}</span>; 
 } else { 
 const list = this.state.value.commentList; 
 return ( 
 <ul className="comment-box"> 
 {list.map((entry, i) => ( 
 <li key={`reponse-${i}`} className="comment-item"> 
 <p className="comment-item-name">{entry.name}</p> 
 <p className="comment-item-content">{entry.content}</p> 
 </li> 
 ))} 
 </ul> 
 ); 
 } 
 } 
} 
ReactDOM.render( 
 <CommentList promise={fetch('/api/response.json')} />, 
 document.getElementById('root'));

全面讲述React技术栈的第一本原创图书,pure render专栏主创倾力打造 覆盖React、Flux、Redux及可视化,帮助开发者在实践中深入理解技术和源码 前端组件化主流解决方案,一本书玩转React“全家桶” 本书讲解了非常多的内容,不仅介绍了面向普通用户的API、应用架构和周边工具,还深入介绍了底层实现。此外,本书非常重视实战,每一节都有实际的例子,细节丰富。我从这本书里学到了很多东西,强烈推荐! ——阮一峰,蚂蚁金服技术专家,国内技术圈知名博主,《ES 6标准入门(第2版)》作者 React从诞生起就颠覆了诸多传统前端开发的“铁律”,这种破旧立新开启了前端开发全新的时代。它的用法和理念,代表了现在和未来几年前端技术的潮流风向。如果不想落伍,最好进行系统学习。实践出真知,从牛人的实践中收获自己的真知,恐怕是最好的捷径。这是我看到的第一本React中文原创著作,读来倍感亲切。 ——张克军,豆瓣前端专家,国内技术圈知名博主,前端布道师 本书内容翔实,一扫“文档说明书”之风,有大量作者的实战经验。由浅入深,无论你是 React 初学者,还是进阶人士,本书都值得一读! ——寸志,陆金所前端架构师,《前端外刊评论》发起人 本书从几个维度去介绍 React。一是作为 View 库,它怎么实现组件化,以及它背后的实现原理。二是扩展到 Flux 应用架构及重要的衍生品 Redux,它们怎么与 React 结合做应用开发。三是对 React 与 server 的碰撞产生的一些思考。四是讲述它在可视化方面的优势与劣势。 本书适合有一定经验的前端开发人员阅读。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值