MCPcopy Index your code
hub / github.com/docker/getting-started / useUncontrolled

Function useUncontrolled

app/src/static/js/react-bootstrap.js:1260–1298  ·  view source on GitHub ↗
(props, config)

Source from the content-addressed store, hash-verified

1258}
1259
1260function useUncontrolled(props, config) {
1261 return Object.keys(config).reduce(function (result, fieldName) {
1262 var _extends2;
1263
1264 var defaultValue = result[Utils.defaultKey(fieldName)],
1265 propsValue = result[fieldName],
1266 rest = _objectWithoutPropertiesLoose(result, [Utils.defaultKey(fieldName), fieldName].map(_toPropertyKey));
1267
1268 var handlerName = config[fieldName];
1269 var prevProps = (0, _react.useRef)({});
1270
1271 var _useState = (0, _react.useState)(defaultValue),
1272 stateValue = _useState[0],
1273 setState = _useState[1];
1274
1275 var isProp = Utils.isProp(props, fieldName);
1276 var wasProp = Utils.isProp(prevProps.current, fieldName);
1277 prevProps.current = props;
1278 /**
1279 * If a prop switches from controlled to Uncontrolled
1280 * reset its value to the defaultValue
1281 */
1282
1283 if (!isProp && wasProp) {
1284 setState(defaultValue);
1285 }
1286
1287 var propsHandler = props[handlerName];
1288 var handler = (0, _react.useCallback)(function (value) {
1289 for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
1290 args[_key - 1] = arguments[_key];
1291 }
1292
1293 if (propsHandler) propsHandler.apply(void 0, [value].concat(args));
1294 setState(value);
1295 }, [setState, propsHandler]);
1296 return _extends({}, rest, (_extends2 = {}, _extends2[fieldName] = isProp ? propsValue : stateValue, _extends2[handlerName] = handler, _extends2));
1297 }, props);
1298}
1299
1300module.exports = exports["default"];
1301

Callers

nothing calls this directly

Calls 2

_extendsFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…