javascript - خطای TypeScript: نوع '.....' قابل انتساب به نوع 'IntrinsicAttributes & Number' نیست


تازهکار در TypeScript هستم، سعی میکنم یک کد JS را به TS منتقل کنم و خطا دریافت میکنم

[ts]
Type '{ current: number; total: number; }' is not assignable to type 
'IntrinsicAttributes & Number'.
  Type '{ current: number; total: number; }' is not assignable to type 
'Number'.
Property 'toFixed' is missing in type '{ current: number; total: number; }'.
(JSX attribute) current: number

تابع

function Header(current: number, total: number, question: DEEP_QUESTION){
//  console.log("Header " + current.toString());
  return (
      <div> 
        <StepBar current={current} total={total} />
        <SurveyTheme theme={question.theme} />
      </div>
  )
  //refresh();
}

پیامها در پارامترهای تماس StepBar ظاهر میشوند. امضاهای StepBar

function StepBar(current: number, total: number) {

این در جاوااسکریپت کار میکند

نظری داری؟

پاسخ شماره ۱

StepBar باید یک شیء props با اعضایی به نامهای current و total بپذیرد.

میتوانی چیزی شبیه به این را امتحان کنی:

function StepBar(props: {current: number, total: number}) { ... }

پاسخ شماره ۲

شما میتوانید از جنریک React.StatelessComponent برای ارسال نوعهای پراپ خود به صورت زیر استفاده کنید:

interface IHeaderProps {
    current: number;
    total: number;
 }

const Header:React.StatelessComponent<IHeaderProps> =  (props) => {
  return (
    ...
  )
}