shineout
Version:
Shein 前端组件库
27 lines (24 loc) • 686 B
JavaScript
import _extends from "@babel/runtime/helpers/extends";
import React from 'react';
import createReactContext from '../context';
var context = createReactContext({});
var Provider = context.Provider;
export { Provider };
function filterProps(props, keys) {
if (!props) return {};
var value = {};
keys.forEach(function (k) {
value[k] = props[k];
});
return value;
}
export var consumer = function consumer(Origin, keys) {
if (keys === void 0) {
keys = [];
}
return function (props) {
return React.createElement(context.Consumer, null, function (value) {
return React.createElement(Origin, _extends({}, props, filterProps(value, keys)));
});
};
};