200316&菜鸡前端工作卡壳梳理汇总

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

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

setState的写法

this.state.setState({});//错误写法

this.setState({});//正确写法

如何获取antd的form组件的formItem的被getFieldDecorator包括的值

this.props.form.getFieldValue("rangePicker")

卡在多重数据的遍历绑定上(绑定列表的id)

前置:获取数据有时间差,还是生命周期函数和执行时机了解的不够清楚

还是API理解不透彻。defaultValue值执行一次,即使绑定的值是state变量,当state变量变量不会再次变更。

需要将 defaultValue 变更为 value。[value对应的state,变了之后dom会重新渲染。]

=> 真是有时候把问题想得太复杂了。又是想父子间通信,又是事件通信的。还有生命周期的,真是太绕了

defaultValue和value的执行次数区别,自己真是要得牢记了。被困了大半天(一下午+一晚上)

props和state的使用时机。

能不用state的就不用。直接用props,否则可能会因为执行顺序导致获取没有获取到值。

mobx -> props -> state

=》 mobx -> props (去掉state的中转《-比如文字超长的处理)

TypeError: Cannot read property ‘createElement’ of undefined - render老是报错

import { React, Component } from “react”; //错误写法

import React from “react”//正确写法

const disable = _.find(dates, o => {return moment(o).format(“YYYY-MM-DD”)});

导致全部被不可用了。

应该改为和当前日期比对。

const disable = _.find(dates, o => {return o === startValue.format(“YYYY-MM-DD”)});

moment获取毫秒数的正确和错误方式

moment(o[0]).format("YYYY-MM-DD").valueOf() > startValue.valueOf() //错误方法
moment(o[0]).valueOf() < startValue.valueOf() //正确方式

moment("2019-05-22").valueOf() < startValue.valueOf() //正确方式

antd的datepicker的disableDate设置日期不可用处理

const dates = [
  ["2019-05-18", "2019-05-22"],
  ["2019-05-05", "2019-05-11"]
];

return (
  (moment("2019-05-18").valueOf() <= startValue.valueOf() && moment("2019-05-22").valueOf() >= startValue.valueOf()) ||
  (moment("2019-05-05").valueOf() <= startValue.valueOf() && moment("2019-05-11").valueOf() >= startValue.valueOf()) 
);

你可能感兴趣的:(javascript,前端)