Hi Can I get help how to fix this error: "Element implicitly has an 'any' type because expression of type 'number' can't be used to index type 'Number' No index signature with a parameter of type 'number' was found on type 'Number'". Its pagination task. How to fix this error ?
<button>
disabled={currentPage == pages[pages.length - 1] ? true : false}
</button>
<button>
disabled={currentPage == pages[0] ? true : false}
</button>
CodePudding user response:
It seems that the type of pages is any because it's not defined. Try defining the type of pages like pages: any[] or another array type.
CodePudding user response:
For anyone in the future. Typescript stopped complaining when I did this :
const pages:any[number]= Math.ceil(totalItems / pageSize);
CodePudding user response:
If pages is the total number of pages, so it should be of type number, not an array. I think that would make it easier to read your code.
const pages: number = Math.ceil(totalItems / pageSize);
<button disabled={currentPage === pages ? true : false}>
</button>
So if the currentPage is equal to pages, it means it's the last page, so disabled is true, else, it's false. Notice also how I included the disabled={...} inside the button tag (<button disabled={...} >), not inside of it. Not sure if it was a typo from your side, but anyway.
