React, Yup, Formik. Как расширить схемы от другой схемы

Есть много схем и их объединяют некоторые одинаковые поля. При изменении поля одной схемы, нужно изменять такие же поля, но в других схемах. А хотелось чтобы поля разных схем, или сами схемы ссылались или наследовали одну общую схему. Что то наподобие:

import * as Yup from "yup";
import {commonSchema} from "./common";

export const parentSchema = Yup.object().shape({
  FirstName: Yup.string()
    .min(2, `Имя не может состоять менее чем из 2 сомволов`)
    .max(50, `Имя не может состоять более чем из 50 сомволов`)
    .required(`Поле 'Имя' обязательное для заполнения`),
  SecondName: ref(commonSchema.SecondName)
});


commonSchema

export const commonSchema = Yup.object().shape({
  SecondName: Yup.string()
    .min(2, `Отчество не может состоять менее чем из 2 сомволов`)
    .max(100, `Отчество не может состоять более чем из 100 сомволов`)
});

Короче говоря делая изменения в одной общей схеме не придется делать изменения в других схемах с такими же полями.


Ответы (0 шт):