import React from 'react' export default function Test() { const handleClick = () => (label: string) => { console.log('label: ' + label) } return <button onClick={handleClick('red one')}>click me</button> }
TypeScript 編譯器抱怨我的程式碼,我做錯了什麼?
Type '(label: string) => void' is not assignable to type 'MouseEventHandler<HTMLButtonElement>'. Types of parameters 'label' and 'event' are incompatible. Type 'MouseEvent<HTMLButtonElement, MouseEvent>' is not assignable to type 'string'.ts(2322) index.d.ts(1494, 9): The expected type comes from property 'onClick' which is declared here on type 'DetailedHTMLProps<ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>'
handleClick
函數不需要任何類型的參數,但您向其傳遞一個字串。應該是:
反之亦然
應該是
而不是