import { createForm } from '@formily/core'; import { FormProvider as FormilyFormProvider, SchemaExpressionScopeContext, SchemaOptionsContext } from '@formily/react'; import React, { useContext, useMemo } from 'react'; import { SchemaComponentOptions } from './SchemaComponentOptions'; export const FormProvider: React.FC = (props) => { const { children, ...others } = props; let options = useContext(SchemaOptionsContext); const expressionScope = useContext(SchemaExpressionScopeContext); const scope = { ...options?.scope, ...expressionScope }; const components = { ...options?.components }; const form = useMemo(() => props.form || createForm(), []); return ( {children} ); };