Экспорт свойства из дочерних компонентов в родительский компонент с помощью HOC
Я хочу передать схему из дочерних компонентов, объединить схему и использовать ее в основном приложении (родительский уровень). Это в основном схема yup, которая находится на уровне компонентов, которую необходимо объединить из компонентов и использовать в основном приложении.
Component1
const schema = Yup.object().shape({Name:Yup.string().required()})
const comp1 = () => {
}
Component2
const schema = Yup.object().shape({Age:Yup.string().required()})
const comp2 = () => {
}
<App validationSchmea={mergedSchemas}/>
Внутри приложения компоненты живут.
Hoc примет схемы, объединит их и экспортирует в основное приложение (родительское). Каким будет лучший способ экспортировать схему с помощью HoC, а затем в основном приложении использовать HoC для получения всех схем из всех компонентов.
The Logic to Merge Schemas :
import { emailSchema } from '../components/Email'
import { dateSchema } from '../components/DateofBirth'
import { nameSchema } from '../components/Name'
import { taxIdSchema } from '../components/TaxId'
import { phoneSchema } from '../components/Phone'
import { maritalSchema } from '../components/MartialStatus'
import { citizenSchema } from '../components/CitizenStatus'
import { addressSchema } from '../components/Address'
const mergeSchemas = (...schemas) => {
const [first, ...rest] = schemas;
const merged = rest.reduce(
(mergedSchemas, schema) => mergedSchemas.concat(schema),
first
);
return merged;
}
const mergedSchemas = mergeSchemas(emailSchema, dateSchema, nameSchema,
taxIdSchema, phoneSchema, maritalSchema, citizenSchema, addressSchema)
export default mergedSchemas
Я ищу передовые методы использования Hoc от уровня компонентов до верхнего уровня. Есть предложения?