Проблема с проверкой на объект в tsx файле
В tsx файле есть фрагмент кода где происходит проверка, является ли переменная объектом, и если она является объектом происходит отрисовка компонента с данными из этой переменной, выглядит это вот так
<>
{Object.entries(content).map(([key, value]) => (
{(() => {
switch (key) {
case 'object':
// Интересующая строка
if (typeof value === 'object' && !Array.isArray(value) && value !== null) {
return <SomeItem data={value} />
}
return null
default:
return null
}
})()}
))}
</>
И все работает но беспокоит громоздкость выражения
typeof value === 'object' && !Array.isArray(value) && value !== null
была создана функция для проверки
export function isObject(obj: any) {
return typeof obj === 'object' && !Array.isArray(obj) && obj !== null
}
но при попытке проверить объект в jsx файле через функцию, typeScript игнорирует проверку, и выдает ошибку, в чем может быть проблема?
import { isObject } from './somePath'
...
if (isObject(value)) {
// ошибка
return <SomeItem data={value} />
}
...