Мне нужно написать HOC, который будет включать мои компоненты в Suspense, я передам компонент и резервный вариант в качестве реквизита HOC.
мой помощник:
export const withSuspense = ({ Component, Fallback }: any)=> {
return (props:any) => {
return (
<Suspense fallback = {<Fallback />}>
<Component {...props} />
</Suspense>
);
};
};
Затем мне нужно выполнить рендеринг в маршруте (реагировать-маршрутизатор v 6.15)
<Route
path = "messages"
element = {withSuspense({MessagesPage,Loader})}
/>
Получил ошибку. Тип «(реквизит: любой) => JSX.Element» не может быть присвоен типу «ReactNode».
Я попытался определить реквизиты HOC как ReactNodes, но это не сработало. Есть идеи, пожалуйста?





«JSX.Element» нельзя назначить типу «ReactNode» в функциональном HOC React.
element в новейшей версии react-router-dom ожидает ReactNode, а не функцию, которая возвращает JSX или ReactNode.
const Component = withSuspense({ MessagesPage, Loader });
<Route
path = "messages"
element = {<Component />}
/>