组合式组件开发实践
同过封装Select组件,逐步学习和思考组件封装思想
纯函数
给定相同的输入,它总是返回相同的输出;
过程没有副作用(side effect)
- 纯函数中我们不能改变外部状态
- Immutable概念,让参数中的引用重新复制123456789import '_' from 'lodash';const addToCart = (cart, item, quantity) => {const newCart = _.cloneDeep(cart);newCart.items.push({item,quantity,});return newCart;};
没有额外的状态依赖。
- 方法内的状态都只在方法的生命周期内存活,这意味着我们不能在方法内使用共享变量,因为这会给方法带来不可知因素。