我是靠谱客的博主 漂亮纸鹤,最近开发中收集的这篇文章主要介绍200224&菜鸡前端工作卡壳梳理汇总,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

卡壳的地方(不能直接写的都算)

  • 思路不清;
  • 还需要想一想;
  • 还需要搜搜;
  • 还需要找参考的地方

写个异步轮询的方法

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&菜鸡前端工作卡壳梳理汇总所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(46)

评论列表共有 0 条评论

立即
投稿
返回
顶部