`
文章列表
之前React setState后在另一个函数调用state的值没有更新:   // init state.type = 'new'; activeMenu(type) { // type = top if (type == this.state.type) return; this.loadList(type); } loadList(type) { this.setState({ items: [], type: type }); ......... // type is top, but this.s ...
doT模板是一款js渲染模板引擎,速度快,文件小,渲染效果良好而著称。 官网-Logo,点击进入:   更多丰富js模板引擎,猛击:https://qiaolevip.github.io/frontend-template-engines/   doT模板Example:https://qiaolevip.github.io/frontend-template-engines/doT.html   解决方案1(原生js Fn): // 定义js函数 var maskText = function(text) { return text.replace(/(^. ...
报错提示: invariant.js:39 Uncaught Invariant Violation: ReactMount: Two valid but unequal nodes with the same `data-reactid`: .0.2.4.0.$117405.0   报错原因:      由于你的React代码包含了双重点击事件或者,A标签里面嵌套了A标签或onClick事件 <a> <div></div> <a>来点击吧</a> </a>   报错代码: <Li ...
报错提示:   Uncaught Invariant Violation: onlyChild must be passed a children with exactly one child.     报错代码:   pmessage = this.state.showmessage?<div className="pmessage">{this.state.pmessage}</div>:""; return ( <div className="userinfo"& ...
在上一篇文章里,我使用纯js更新object对象,然后在setState里面,这样操作属于原生的,今天在解读React.addons对象的时候,发现有update函数也可以链式更新对象,挺方便的,就是解读起来不那么容易。 import React from 'react'; // 经过种种setState, detail对象是这样的:this.state.detail.iteminfo.state this.setState({ showmessage:true, pmessage:"领取任务成功", detail: React.add ...
前端开发今天有踩到一个大坑,特此记录。   事情的经过是这样的,我们app里面内嵌了一个页面,很多用户网络较慢情况下点击反应比较慢,导致像卡屏一般。需要在用户点击的时候给他个css交互,代表他的请求在处理中,遂想到 css :active 伪类来解决。 li:active { background: #e3e3e3; }   在android上面各种好用,在ios上面测试safari有效果,内嵌到app或者微信就湮了。   因为触摸事件被点击事件覆盖了。   终极解决方案: 原来结局只有一个   <body ontouchstart="&quo ...
'watch' errored after 19 ms [13:25:21] Error: watch /home/react-mobile/stylus/ ENOSPC at exports._errnoException (util.js:870:11) at FSWatcher.start (fs.js:1234:19) at Object.fs.watch (fs.js:1262:11) at Gaze._watchDir (/home/react-mobile/node_modules/gulp/node_modules/vinyl-fs ...
  —– BEGIN LICENSE —– Michael Barnes Single User License EA7E-821385 8A353C41 872A0D5C DF9B2950 AFF6F667 C458EA6D 8EA3C286 98D1D650 131A97AB AA919AEC EF20E143 B361B1E7 4C8B7F04 B085E65E 2F5F5360 8489D422 FB8FC1AA 93F6323C FD7F7544 3F39C318 D95E6480 FCCC7561 8A4A1741 68FA4223 ADCEDE07 ...
<form method="post" autoComplete="off" encType="multipart/form-data" onSubmit={this.onSubmit.bind(this)}> <div className={ 'title bl-line' + (state.activeInput == 'subject' ? ' active' : '') }> <input type="text" placeholder=" ...
// 初始化数据 this.state = { comments: [] } // 添加新的属性 showReplyInfo(index) { let items = this.state.comments; let item = items[index]; item.isLogin = this.state.isLogin; item.showReply = !item.showReply; this.setState({ items: items }); } // 循环处理数据 { comments ? ...
// 初始化state this.state = { files: [], } // 添加数据到array this.setState({ files: [ ...this.state.files, fileInfo ] }); // 动态移除子项从array removePic(index) { this.setState({ files: this.state.files.filter((_, i) => i !== index) }) } // 循环显示数据 {state. ...
// 数据结构 { "status": "200", "data": { "groups": [ { "name": "官方专区", "todayposts": "0", "gid": "1" }, { "name": "理财有道", "todayposts": ...
1、post数据结构: Form Data: type:post name:post发送url参数   2、js代码实现 var xhr = new XMLHttpRequest(); xhr.open('post', 'http://localhost:3000/post', true); xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); xhr.send(urlParams(data)); xhr.onload = function () { if ( ...
1、post数据结构:   data: { type: 'post', name: 'post发送json参数' }     2、js代码实现   var xhr = new XMLHttpRequest(); xhr.open('post', 'http://localhost:3000/post', true); xhr.setRequestHeader('Content-Type', 'application/json'); xhr.send(JSON.stringify(data)); xhr.onloa ...
1、post数据结构: Request Payload ------WebKitFormBoundary3wELd4ULBH0cBXBj Content-Disposition: form-data; name="type" post ------WebKitFormBoundary3wELd4ULBH0cBXBj Content-Disposition: form-data; name="name" post发送formData参数 ------WebKitFormBoundary3wELd4ULBH0cBXBj--   ...
Global site tag (gtag.js) - Google Analytics