我想使用 useState hook 將新專案推送到我的初始狀態陣列中,但我收到錯誤:TS2322 型別編號不可分配給型別“從不”。([...pageNumbers, i) 下劃線
我的代碼:
const [pageNumbers, setPageNumbers] = useState([]);
for (
let i = 1;
i <= Math.ceil(props.totalCommits / props.CommitsPerPage);
i
) {
setPageNumbers([...pageNumbers, i]);
}
uj5u.com熱心網友回復:
您需要像這樣輸入狀態陣列:
const [pageNumbers, setPageNumbers] = useState<Array<number>>([]);
uj5u.com熱心網友回復:
如果<type>在初始化空陣列時不添加 a ,打字稿將假定型別為React.SetStateAction<never[]>。因此,當您嘗試在let i = 1type 中添加、number鍵入時never,打字稿拋出了錯誤Type number is not assignable to type 'never'。
您可以在初始化時分配一個型別來解決這個問題,如下所示。
const [pageNumber, setPageNumbers] = useState<number[]>([]);
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/315090.html
