react工作笔记

1.antd form表单switch, CheckBox、Switch 默认值设置

{getFieldDecorator('switch', {valuePropName: 'checked', initialValue: true})(<Switch />)}
  1. ts类型
    Event 事件对象类型
    常用 Event 事件对象类型:

ClipboardEvent<T = Element> 剪贴板事件对象
DragEvent<T = Element> 拖拽事件对象
ChangeEvent<T = Element> Change 事件对象
KeyboardEvent<T = Element> 键盘事件对象
MouseEvent<T = Element> 鼠标事件对象
TouchEvent<T = Element> 触摸事件对象
WheelEvent<T = Element> 滚轮事件对象
AnimationEvent<T = Element> 动画事件对象
TransitionEvent<T = Element> 过渡事件对象
实例:

handleClick = (e: MouseEvent ) => {}

3.过滤数据
//适用于antd ---table里面dataSource做本地数据的批量删除

_.filter(dataSource, (item: any) => {
   return ! _.includes(rowKeySelect, item.key)
})

4.常用qs方法

var prefixed = qs.parse('?a=b&c=d', { ignoreQueryPrefix: true });
 // prefixed   { a: 'b', c: 'd' }

var prefixed = qs.stringify({ a: ['b', 'c', 'd'] }, { indices: false });
 // prefixed   'a=b&a=c&a=d'

qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'indices' })
// 'a[0]=b&a[1]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'brackets' })
// 'a[]=b&a[]=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'repeat' })
// 'a=b&a=c'
qs.stringify({ a: ['b', 'c'] }, { arrayFormat: 'comma' })

5.mock随机生成数据
‘'name': '@cname', // 中文名称
'key': '@id', //随机id
'id|+1': 88, // 属性值自动加 1,初始值为88
'age|18-28': 0, // 18至28以内随机整数, 0只是用来确定类型
'birthday': '@date("yyyy-MM-dd")', // 日期
'city': '@city(true)', // 中国城市
'color': '@color', // 16进制颜色
'isMale|1': true, // 布尔值
'isFat|1-2': true, // true的概率是1/3
'fromObj|2': obj, // 从obj对象中随机获取2个属性
'fromObj2|1-3': obj, // 从obj对象中随机获取1至3个属性
'brother|1': ['jack', 'jim'], // 随机选取 1 个元素
'sister|+1': ['jack', 'jim', 'lily'], // array中顺序选取元素作为结果
'friends|2': ['jack', 'jim'] // 重复2次属性值生成一个新数组

  1. less文件中引入别的less文件
@import '../../index.less'
  1. this.forceUpdate() 页面重新渲染
class App extends Component<> {
   public name: any;
   ......
   ......
   public handle = () => {
        this.name = 'zhangsan',
        this.forceUpdate()
 
   }
}

8.hooks相关
https://mp.weixin.qq.com/s?__biz=MzA4Nzg0MDM5Nw==&mid=2247486474&idx=1&sn=5e6e59139aa141e5ff81babfd84ce1d2&chksm=90320fe8a74586fec1c10f2b7db1df8b0bd05263c68f3894b3ee88e83a353139ebc1e62e9ce2&mpshare=1&scene=1&srcid=0907gATqyjINV5lcIHoL7ccz&sharer_sharetime=1599440845290&sharer_shareid=e4579c519e926af57b70680666fdd4db&key=35e83ae87188987301e0ddb80f3df8ad3cc5b629f06d624eaf47afcdf75c2dea458b6a85effa11b669ba06abab2d8d05bb45b967d2884766525d2aaef8b163521cc68880e528aec38f7484328adead36f3e91df115e9fe6050307612b2a15ce7e51352e46398c7aeed12ab756a654e4e14a42886d3638c953a65efe5fc4713fb&ascene=1&uin=MTM3NjgxODQzNA%3D%3D&devicetype=Windows+10+x64&version=62090529&lang=zh_CN&exportkey=A3d%2B%2BiIxGxbdVHBlgjYOows%3D&pass_ticket=b8wKxZgeyQW596n83sWaH4%2FP%2FmQ2uYON1tEX5W8DML714%2B1f2h7DO%2B0brnSUteum&wx_header=0

9.ts关于定义复杂数据类型的类型

const params: { [propsName: string] :  any  } = {
    index: 1,
    num: 20,
    order: {},
    selector: []
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
禁止转载,如需转载请通过简信或评论联系作者。

推荐阅读更多精彩内容