Ваш динамический c компонент использует перехватчики, и если вы вызываете importedComponent.default
, React выдаст ошибку и из-за ошибки использования перехватчиков внутри useEffect
.
Вместо этого загрузите компонент и вызовите .default
когда вы его визуализируете.
Я также добавил state.step
в useEffect
массив зависимостей, чтобы убедиться, что эффект запускается повторно, если state.step
изменяется так, как если бы при первоначальной визуализации state.step не было title
компонент никогда не будет отображаться, поскольку вы указали пустой массив зависимостей
useEffect(() => {
// same as before
// ...
if (DynamicComponent) {
setComponent(DynamicComponent);
}
}, [state.step])
if (!component) {
return null;
}
return (
<View>
<component.default />
</View>
)