概述
卡壳的地方(不能直接写的都算)
- 思路不清;
- 还需要想一想;
- 还需要搜搜;
- 还需要找参考的地方
- …
写个异步轮询的方法
const interval = setInterval(() => {
this.xxStore.fetchSingleEventStatus(e.id, "upload demo1")
.then((res) => {
if (res.status === EVENT_STATUS.SUCCESS) {
if (!_.isEmpty(res.message) &&
!_.isObject(res.message)) {
Message("success", {
title: "成功",
content: "上传成功",
maskClosable: false
});
}
this.xxStore.loading = false;
clearInterval(interval);
} else if (res.status === EVENT_STATUS.ERROR) {
clearInterval(interval);
Message("error", {
title: "错误",
content: `失败: ${res.message}`,
maskClosable: false
});
this.xxStore.loading = false;
}
});
}, 2000);
undefined body不能为空或字段类型错误
params. 配置 要改成 data.
- Validator.js的使用。
看懂使用方法了。但是有点疑问
* 使用方法: Validator定义方法,然后配合antd的formItem的getFieldDecorator的validator配置
* 疑问: message信息在哪儿配置?配置逻辑是啥?报错message是以警告形式通过async-validator来给出的
* 如何配置 async-validator?
- 处理
* 配置信息是new出来的Validator动态配置的。固定写法。async-validator会提供Validator,
* 用Validator会有扩展出来的一个callback可以用。
* rule, value, callback 3个参数
* validate 1个方法
- 代码展示
//validator.js
import Validator from "async-validator";
//xx模块
import validator from "../../lib/validator";
<FormItem {...formItemLayout} label="To:">
{getFieldDecorator("emailTo", {
rules: [
{ required: true, message: "Please input Email Address to send" },
{ validator: validator.email }
]
})(
<Select title={"Use ";" to separate emails"} tokenSeparators={[";"]} mode="tags"/>
// <Input />
)}
</FormItem>
- 疑问
* Select上的tokenSeparators
* const msg = _.get(errors, "[0].message", undefined);//为啥可以这么写?
- 行动
* 查_.get的api
* 查select组件的apitokenSeparators
被拿出来纠错了. 第一次post都422了,还要请求异步接口吗
if(!e.id) return;
异常处理没有整,代码缺失健壮性
addEvent方法,会导致轮询接口吗?
好像会,不确定。 => 会
- Async.mapValuesLimit(this.evIds[type], 5, (id, aId, cb) => { //待查
需求文档上,没写录入框的最大最小值,问还是不问?
问
vendor.dll.js:37 Error: Need at least a key or a value or a label (only for OptGroup) for [object Object]
at getValuePropValue (util.js:28)
=> 是因为字典表的key有同时为空串的. None的值。导致select的option设置的key不唯一了。
=> 修改: children.push(<Option key={v.key || ‘’}>{v.value});
Found 2 elements with non-unique id #btn_add_9219
table组件的 columns不能公用
Uncaught (in promise) Error: [mobx] An invariant failed, however the error is obfuscated because this is an production build.
不能再跳转前后,设置store的监测属性
localStorage的api还得想一想。
window.localStorage.setItem(“token”, token);
置空日期值的时候,设置值报错。
数据类型不对。
报错且页面白屏
end.isSame is not a function
getShowDateFromValue (RangePicker.js:83)
at getDerivedStateFromProps (RangePicker.js:520)
- 错误代码
const values = [moment(dates[0] || null).format("YYMMDD"), moment(dates[1] || null).format("YYMMDD")]
- 正确代码
const values = [moment(dates[0] || null, dateFormat), moment(dates[1] || null, dateFormat)];
- 原因
// 2.1.0 之前
moment([2012, 0, 31]).month(1).format("YYYY-MM-DD"); // 2012-03-02
错误代码在于, format后面的格式,带-的。
但我记得是可以不带的。
=> 正解,是可以不带,但是报错是rangePicker的,格式必须是带的。
最后
以上就是漂亮纸鹤为你收集整理的200224&菜鸡前端工作卡壳梳理汇总的全部内容,希望文章能够帮你解决200224&菜鸡前端工作卡壳梳理汇总所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复