欢迎关注前端早茶,与广东靓仔携手共同进阶
前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~
1、omitjs干什么用的
返回一个没有列入排除key属性的对象。其中,参数object为JSON格式的对象,*keys表示多个需要排除掉的key属性。
用法
import omit from 'omit.js';
const inputProps = omit(otherProps, ['onGetCaptcha', 'countDown']);
<Input {...customprops} {...inputProps} />
替代方法
const {onGetCaptcha, countDown, ...rest} = otherProps;
<Input {...customprops} {...inputProps} />
const abc = {a:12,b:23,c:34};
const {c,...rest} = abc;
console.log(abc);
console.log(rest);
2、omitjs源码怎么写的
import _extends from "babel-runtime/helpers/extends";
function omit(obj, fields) {
var shallowCopy = _extends({}, obj);
for (var i = 0; i < fields.length; i++) {
var key = fields[i];
delete shallowCopy[key];
}
return shallowCopy;
}
export default omit;
3、omit方法的其它类库 Underscor
4、omit 配合antd from使用 hoistStatics
import omit from 'omit.js';
// 作用: 从已经存在的对象中过滤特定属性
const formProps = omit(this.props, [
'prefixCls',
'className',
'layout',
'form',
'hideRequiredMark',
]);
import hoistStatics from 'hoist-non-react-statics';
// 作用:常用语高阶组件中,将被包裹元素的静态方法,“同步”到容器元素中。
hoistStatics(Container, WrappedComponent);
欢迎关注前端早茶,与广东靓仔携手共同进阶
前端早茶专注前端,一起结伴同行,紧跟业界发展步伐~