Есть форма (написанная на React и react-hook-form), где валидация полей происходит с помощью Yup. Я хочу сделать дочерние компоненты (типовые поля), чтобы их можно было использовать с разными данными.  Но никак не могу понять, как мне в дочерние компоненты передать конкретное значение из объекта schema ?  - Например,  в одном дочернем компоненте это значение будет "name". в другом -  "phone" ? То есть, что написать в аргументе register 
<input
          type="text"
          className={ errors.name ? "form__input form__input--error" : "form__input" }
          name={ name}
          id={id}
          placeholder={placeholder}
          { ...register("name") }
        />
или  в выводе ошибки:
{ errors.name && <p className="form--error">{ errors.name.message }</p> }
Пробовала переменную regArg, которая  должна принимать значения из schema :
const schema = yup.object().shape( {
  name: yup
    .string()
    .required( "Пожалуйста, заполните это поле" )
    .matches( nameRegExp, "Допускаются только латинские или кирилические буквы" )
    .min( 2, "В этом поле должно быть не менее 2-х символов" )
    .max( 15, "В этом поле должно быть не более 15-х символов" ),
  message: yup
    .string()
    .required( "Пожалуйста, заполните это поле" )
    .min( 2, "В этом поле должно быть не менее 2-х символов" ),
  phone: yup
    .string()
    .required( "Пожалуйста, заполните это поле" )
    .matches( phoneRegExp, "Телефон должен соответствовать виду: +79172546925" ),
} );
Если я напишу в дочернем компоненте конкретно, например name   - то ошибки выводятся, но у всех полей сразу и oдна и та же ошибка (которая прописана для name ). Но  у меня разные поля с разными проверками (name, phone, message и т.д.).  Если я пишу переменную, например, regArg , и передаю ей значение от родителя - то ничего не работает.
Вот код родителя: 
import React, { useState } from "react";
import { useForm } from "react-hook-form";
import * as yup from "yup";
import { yupResolver } from "@hookform/resolvers/yup";
import TextField from "./TextField/TextField";
const nameRegExp = /[a-zA-zа-яА-яёЁ]$/;
const phoneRegExp = /[+7][0-9]{10}$/;
const schema = yup.object().shape( {
  name: yup
    .string()
    .required( "Пожалуйста, заполните это поле" )
    .matches( nameRegExp, "Допускаются только латинские или кирилические буквы" )
    .min( 2, "В этом поле должно быть не менее 2-х символов" )
    .max( 15, "В этом поле должно быть не более 15-х символов" ),
 phone: yup
    .string()
    .required( "Пожалуйста, заполните это поле" )
    .matches( phoneRegExp, "Телефон должен соответствовать виду: +79172546925" ),
} );
function Form() {
  const { register, handleSubmit, reset, setValue, formState: { errors } } = useForm( {
    resolver: yupResolver( schema ),
    mode: "onTouched",
  } );
 const onSubmit = (data) => {
    console.log( data );
}
 return (
    <>
      <form action="#" className="form" onSubmit={ handleSubmit( onSubmit, onError ) }>
 <TextField
            id="name"
            label="Имя"
            placeholder="Иван"
            name="name"
            errors={ errors }
            register={ register }
            regArg="name"
          />
          <TextField
            id="phone"
            label="Телефон"
            placeholder="+79275681452"
            name="phone"
            errors={ errors }
            register={ register }
            regArg="phone"
          />
 <button type="submit" className="form__btn">Отправить</button>
      </form>
    </>
  );
}
export default Form;
Код дочернего компонента:
import "./TextField.scss";
import React from "react";
function TextField({label, name, id, register, errors, placeholder, regArg}) {
return (
   <>
      <p className="form__item">
        <label className="form__label" htmlFor={ id} >
          {label}
        </label>
        <input
          type="text"
          className={ errors.regArg ? "form__input form__input--error" : "form__input" }
          name={ name}
          id={id}
          placeholder={placeholder}
          { ...register(`${regArg}`) }
        />
      </p>
      { errors.regArg && <p className="form--error">{ errors.regArg.message }</p> }
   </>
  );
}
export default TextField;