Ошибка TS2339 возникает, когда TypeScript обнаруживает попытку обращения к свойству или методу, которое не существует на указанном типе данных. Возможные причины этой ошибки могут быть следующими:
1. Неправильно задан тип данных. Если вы указали неправильный тип данных для переменной или объекта, TypeScript не сможет распознать доступные свойства и методы.
2. Неправильное использование модулей или библиотек. Если вы используете сторонние библиотеки или модули, возможно, они не имеют правильного описания типов, и TypeScript не может определить доступные свойства.
3. Ошибки в структуре кода. Неправильная структура кода может привести к ошибкам типизации и вызвать ошибку TS2339.
Для исправления ошибки "Property 'size' does not exist on type 'ObjectConstructor'" при использовании обычного компютеда, можно попробовать следующие способы:
1. Убедитесь, что вы правильно указали тип данных для вашего объекта в сторе. Возможно, в вашем случае нужно прописать тип конкретного поля, к которому вы обращаетесь.
2. Если использование настройки lib и target в tsconfig не помогло, попробуйте явно указать тип для поля, к которому вы обращаетесь, с помощью оператора as.
Например:
```typescript
const state = useSelector((state: RootState) => state.myReducer) as { size: number };
console.log(state.size);
```
Если у вас есть возможность определить интерфейс для объекта в сторе, это будет более надежным способом избежать подобных ошибок.