Imagine having a dynamic import of a component named PersonalDetailsForm
within a multi-step registration component called RegistrationFormSteps
.
During the loading process of PersonalDetailsForm
, there is a need to access its nested component known as PersonalDetailsForm.Loading
to display the loading state.
PersonalDetailsForm.Loading
.
const PersonalDetailsForm = () => <h1>Test</h1>;
const PersonalDetailsFormLoader = () => {
return <>loading...</>;
};
PersonalDetailsForm.Loading = PersonalDetailsFormLoader;
export default PersonalDetailsForm
This component is then imported into the RegistrationFormSteps
Component
const PersonalDetailsForm = dynamic(() => import("./personal-details-form"), {
ssr: false,
loading: () => <PersonalDetailsForm.Loading />,
});
const loaders = [<TypeSelectionForm.Loading />, <PersonalDetailsForm.Loading />];
In both scenarios, an error message appears:
Property 'Loading' does not exist on type 'ComponentType<{}>'.
Property 'Loading' does not exist on type 'ComponentClass<{}, any>'.
UPDATE
The error only arises when components are imported dynamically. Regular imports allow successful referencing of the <Loading/>
nested component.