Поскольку реквизиты xDelta
и down
являются необязательными, они будут undefined
, если они не были переданы. Я предполагаю, что у вас есть опция компилятора strictNullChecks
(или опция strict
, которая включает в себяон) включен, поэтому TypeScript проверяет, правильно ли вы работаете с undefined
.В этом случае самое простое решение, вероятно, состоит в том, чтобы воспользоваться преимуществами поддержки defaultProps
, сделав реквизиты xDelta
и down
необязательными с точки зрения реализации компонента (снимите отметки ?
в Props
) и добавив следующее в класс Person
(замените значения по умолчанию, которые вы на самом деле хотите):
static defaultProps = {
down: false,
xDelta: 0
};
После внесения этого изменения у меня останется одна ошибка noImplicitAny
на x
параметр в x => `translate3d(${x}px,0,0)`
.Чтобы устранить эту ошибку, укажите правильный тип для x
: я предполагаю, что это number
или string
.