Тип «FC» не может быть присвоен типу » (реквизиты: CustomStepProps)

#typescript

Вопрос:

Итак, вот мой код

 interface CustomStepProps {
    isComplete: boolean;
    currentStep?: number;
    stepIndex?: number;
    cantBack?: boolean;
    isInFinalStep?: boolean;
    backHandler?: () => void;
    nextHandler?: () => void;
}

const Loki: React.FC<{
    steps: Step[];
    onFinish: () => void;
    backLabel?: string | React.ReactElement | React.ReactComponentElement;
    nextLabel?: string | React.ReactElement | React.ReactComponentElement;
    finishLabel?: string | React.ReactElement;
    noActions?: boolean;
    renderSteps?: (props: CustomStepProps) => React.ReactElement;
    renderActions?: (props: CustomStepProps) => React.ReactElement;
    renderComponents?: (props: CustomStepProps) => React.ReactElement | React.ReactComponentElement;
}>;

export interface CustomActionsProps {
    isComplete: boolean;
    cantBack: boolean;
    isInFinalStep: boolean;
    backHandler: () => void;
    nextHandler: () => void;
}
const CustomActions: React.FC<CustomActionsProps> = (props) => {
    const { isComplete, cantBack, isInFinalStep, backHandler, nextHandler } = props;
    return (
        <div className="button-group">
            <button
                type="button"
                className="btn btn-secondary btn-sm"
                onClick={backHandler}
                disabled={cantBack || isComplete}
            >
                Go back
            </button>
            <button
                type="button"
                className="btn btn-outline-primary btn-sm"
                onClick={nextHandler}
                disabled={isComplete}
            >
                {isInFinalStep ? `Finish HIM` : `Go Next`}
            </button>
        </div>
    );
};
const Stepper: React.FC<StepProps> = (props) => {
    const { setFinish } = props;
    return (
        <div>
            <Loki steps={objectStep} onFinish={setFinish} renderActions={CustomActions} />
        </div>
    );
};
 

В этом и заключается ошибка:

 (JSX attribute) renderActions?: ((props: CustomStepProps) => React.ReactElement<any, string | ((props: any) => React.ReactElement<any, any> | null) | (new (props: any) => React.Component<any, any, any>)>) | undefined
Type 'FC<CustomActionsProps>' is not assignable to type '(props: CustomStepProps) => ReactElement<any, string | ((props: any) => ReactElement<any, any> | null) | (new (props: any) => Component<any, any, any>)>'.
  Types of parameters 'props' and 'props' are incompatible.
    Type 'CustomStepProps' is not assignable to type 'PropsWithChildren<CustomActionsProps>'.
      Type 'CustomStepProps' is not assignable to type 'CustomActionsProps'.
        Types of property 'cantBack' are incompatible.
          Type 'boolean | undefined' is not assignable to type 'boolean'.
            Type 'undefined' is not assignable to type 'boolean'.ts(2322)
react-loki.d.ts(29, 3): The expected type comes from property 'renderActions' which is declared here on type 'IntrinsicAttributes amp; { steps: Step[]; onFinish: () => void; backLabel?: any; nextLabel?: any; finishLabel?:
 

Я думал, что уже задекларировал весь необходимый реквизит? Я также использую знак вопроса как необязательный, и это все равно вызывает у меня ошибку. Можете ли вы, ребята, помочь мне решить эту проблему? Спасибо

Комментарии:

1. Можете ли вы поделиться кодом для Loki компонента? Похоже, это может быть важно

2. interface CustomStepProps { isComplete: boolean; currentStep?: number; stepIndex?: number; cantBack?: boolean; isInFinalStep?: boolean; backHandler?: () => void; nextHandler?: () => void; }

3. const Loki: React.FC<{ steps: Step[]; onFinish: () => void; backLabel?: string | React.ReactElement | React.ReactComponentElement; nextLabel?: string | React.ReactElement | React.ReactComponentElement; finishLabel?: string | React.ReactElement; noActions?: boolean; renderSteps?: (props: CustomStepProps) => React.ReactElement; renderActions?: (props: CustomStepProps) => React.ReactElement; renderComponents?: (props: CustomStepProps) => React.ReactElement | React.ReactComponentElement; }>;

4. Извините за неудобства, но, похоже, я не могу перейти к новой строке в комментарии

5. без проблем, я добавил его к исходному вопросу