MCPcopy
hub / github.com/react-hook-form/react-hook-form / _setFieldArray

Function _setFieldArray

src/logic/createFormControl.ts:268–324  ·  view source on GitHub ↗
(
    name,
    values = [],
    method,
    args,
    shouldSetValues = true,
    shouldUpdateFieldsAndState = true,
  )

Source from the content-addressed store, hash-verified

266 };
267
268 const _setFieldArray: BatchFieldArrayUpdate = (
269 name,
270 values = [],
271 method,
272 args,
273 shouldSetValues = true,
274 shouldUpdateFieldsAndState = true,
275 ) => {
276 if (args && method && !_options.disabled) {
277 _state.action = true;
278 if (shouldUpdateFieldsAndState && Array.isArray(get(_fields, name))) {
279 const fieldValues = method(get(_fields, name), args.argA, args.argB);
280 shouldSetValues && set(_fields, name, fieldValues);
281 }
282
283 if (
284 shouldUpdateFieldsAndState &&
285 Array.isArray(get(_formState.errors, name))
286 ) {
287 const errors = method(
288 get(_formState.errors, name),
289 args.argA,
290 args.argB,
291 );
292 shouldSetValues && set(_formState.errors, name, errors);
293 unsetEmptyArray(_formState.errors, name);
294 }
295
296 if (
297 (_proxyFormState.touchedFields ||
298 _proxySubscribeFormState.touchedFields) &&
299 shouldUpdateFieldsAndState &&
300 Array.isArray(get(_formState.touchedFields, name))
301 ) {
302 const touchedFields = method(
303 get(_formState.touchedFields, name),
304 args.argA,
305 args.argB,
306 );
307 shouldSetValues && set(_formState.touchedFields, name, touchedFields);
308 }
309
310 if (_proxyFormState.dirtyFields || _proxySubscribeFormState.dirtyFields) {
311 _updateDirtyFields();
312 }
313
314 _subjects.state.next({
315 name,
316 isDirty: _getDirty(name, values),
317 dirtyFields: _formState.dirtyFields,
318 errors: _formState.errors,
319 isValid: _formState.isValid,
320 });
321 } else {
322 set(_formValues, name, values);
323 }
324 };
325

Callers

nothing calls this directly

Calls 2

_updateDirtyFieldsFunction · 0.85
_getDirtyFunction · 0.85

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…