react 中随state状态改变,数据在dom中渲染问题
来源:互联网 发布:阿里云短信发送频率 编辑:程序博客网 时间:2024/06/05 05:37
初遇react,问题不断,react生命周期变化,会随着setState状态改变,昨天遇到个问题,处理到晚上10点,虽然自己琢磨未果,但是对生命周期有了很大的了解;
后续再补充相关知识,先说需求:
想获取对象嵌套对象中的某个属性,把值写入render中,渲染dom
1.
2.请求到json中图片,title ,描述
操作如下:
componentDidMount: function () { var _this = this, state=_this.state; Core.get({ noDomain: true, dataType: 'jsonp', jsonpCallback:'callback', port: DOMAINNAME + '/v2/goods/GetGoodsDetail?access-token=' + '279a602ab4ca4d84bbc13a6ca9a714c8', data: { brandCode:brandCode, goodsType:1 }, callback: function (json) { if (json && json.code == 1) { var proList = state.proList, goods = json.data.goods, spec = this.state.spec; for(var key in goods){ spec.push(goods[key]); } _this.setState({ loading: false, goodsTitle: json.data.goodsTitle, banners: json.data.goodsImg, // tags: json.data.tags, goods: json.data.goods, spec:spec /*banners: [ "http://www.duocaitou.com/assets/h5/build/img/integral/hotel750-750@2x.png","http://www.duocaitou.com/assets/h5/build/img/integral/hotel750-750@2x.png" ]*/ }); }
render中的
render: function () { var tags = this.state.tags, goods = this.state.goods, spec = this.state.spec; /*for(var key in goods){ var spec = goods[key]; for(var x in spec){ spec[x]; } }*/ // console.log(spec[0]); // console.log(spec.imagePath); /* for (var i in goods) { spec.push(goods[1]); for(var j in spec){ var imagePath1 = spec[j].imagePath; } } for (var i in goods[2]) { spec.push(goods[2]); for(var j in spec){ var imagePath2 = spec[j].imagePath; } }*/ return ( <section className="hotel-detail-wrap"> <div className="top"> <div className="goback" onTouchEnd={this.back}> <span className="back"></span> </div> <div className="swiper-container" id="J_detailPics"> <div className="swiper-pagination ks_ts"> <div className="hotel-warp"> <img src="build/img/integral/hotel750-750@2x.png" alt=""/> </div> <div className="hotel-warp"> <img src="build/img/integral/gift750-750@2x.png" alt=""/> </div> <div className="hotel-warp"> <img src="build/img/integral/hotel750-750@2x.png" alt=""/> </div> <div className="hotel-warp"> <img src="build/img/integral/hotel750-750@2x.png" alt=""/> </div> <div className="hotel-warp"> <img src="build/img/integral/hotel750-750@2x.png" alt=""/> </div> {/*{ <Slider type="slider" photos={this.state.banners} /> }*/} </div> <ul className="hotel-wt"> <li className="hotel-wt2"></li> <li></li> <li></li> <li></li> <li></li> </ul> </div> </div> <div className="detail-info mar_b20"> <div className="title"> {this.state.goodsTitle} </div> <div className="detail-tags"> <ul> { tags.map(function(tag){ return <li className="title_tag">{tag}</li> }) } </ul> </div> </div> <div className="h20"></div> <div className="products clearfix"> <div className="goods-img"> <a href="">
//spec会随着state状态变化,spec打印两次,判断当有值时候,放入链接
<img src={spec[0] ? spec[0].imagePath : null} alt=""/> </a> </div> <div className="goods-about"> <p className="title">豪华双床房</p> <p className="description">建筑面积:43m;楼层:1-2楼;床型:双人床2米;可入住:2人</p> <p className="sumPoint">26000<span>积分/晚</span></p> <a href="editOrder.html" className="recharge-btn"> <span>立即兑换</span> </a> </div> </div> <div className="h20"></div> <div className="products clearfix"> <div className="goods-img"> <a href=""> <img src="build/img/integral/200-200@2x.png" alt=""/> </a> </div> <div className="goods-about"> <p className="title">豪华双床房</p> <p className="description">筑面积:43m;楼层:1-2楼;床型:双人床2米;可入住:2人</p> <p className="sumPoint">26000<span>积分/晚</span></p> <a href="editOrder.html" className="recharge-btn"> <span>立即兑换</span> </a> </div> </div> </section> );}
阅读全文
0 0
- react 中随state状态改变,数据在dom中渲染问题
- react-redux 中state改变,页面未重新渲染
- 如何在React中使用数据动态生成DOM标签
- 在React的Redux中,如何方便的查看next state的状态?
- React中state
- React-Native 基础(三) 使用State改变状态
- 想改变某些数据就必须把State设置为Edit.数据集状态在不停的改变
- React State(状态)
- 在js中改变单选框选中状态
- vue中实现先请求数据再渲染dom
- 关于AIX VG中 LV 的状态问题,LV STATE
- Unity3d在runtime中改变material渲染模式
- React中prop和state的区别
- React中prop和state的区别
- React中prop和state的区别
- react中props和state属性
- React中state与props比较
- React中函数的封装和数据的state数据存储【摄氏度和华氏度转化】
- php遍历数组与数组指针
- R语言 shiny企业轻量级可视化应用案例(R语言&大数据分析qq群 456726635 欢迎讨论交流)
- php中$this->是什么意思
- vmware12中mac系统与主机共享文件
- Java经典面试题(N人循环报M个数出列)实现
- react 中随state状态改变,数据在dom中渲染问题
- Servlet之Filter深入讲解及实例研究
- ThinkPHP的MVC模式和URL访问
- 6000G精品IT教程资源合集 java分布式高并发架构师视频教程 Python教程视频合集 云计算大数据视频教程
- 1294: 简单统计
- 算法设计与分析 合并排序的递归实现算法
- Cocos2dx------从json文件读取数据
- SQLite约束以及连接
- 算法 埃氏筛法求素数个数