经验
1.传入的props,需要用的先用简单的名字保存起来,方便编写
2.解构赋值传参:
const { onReset, onIncrement, onDelete, onDecrement, counters, onRestart } = this.props;
3.事件处理函数的绑定, {handleName} ,此处不可以加”()“ ,其意思为渲染后立刻执行此回调函数。类似这样 {handleName(true)} 都不可以。
可以这样:
const handleDelete = () => {
onDelete(id);
};
这样:
const onDelete = () => {
onDelete(id);
};
也就是,把它单拎出来,在重新包装一下。虽然没做什么事情。
4、foreach对于原数组的改变
对于item是基本数据类型:item不可以改变
对于item是对象:可以改变,只要不改变地址就可以。
总结:它另存了一个变量item存每次遍历的变量,不可改变只是针对item,想改变可以直接通过原数组,以该形式numsname[index]去赋值即可。
5、快速赋值props
<Menu.Item {...props} key={props.key} >
6、删除数组某一个元素
let newState = state.filter(i => {
return i.id !== id;
});
7、在一个函数中使用setState,由于其是异步的,所以console出来的值不是最终值,需要牢记。
8、为什么需要受控组件(又要需要内存维护value值,相对于vue来说,对于开发者这种交互是暴漏在我们的视野的)
9、重置表单:
const initialValues = {
weight: '',
height: '',
date: ''
}
setState(initialValues);//经典吧