2017-08-18 71 views
0

對於React組件,我有以下代碼。什麼是正確的方式來聲明傳入組件的兩個onClick處理程序?使用TypeScript將事件處理程序作爲道具發送到React組件

interface LoginFormProps { 
    loginClicked: ???? <--- onClick handler signature 
    cancelClicked: ???? <--- onClick handler signature 
} 

class LoginForm extends React.Component<LoginFormProps, {}> { 
    render() { 
     <form> 
      <button onClick={loginClicked}> 
       Login 
      </button> 
      <button onClick={cancelClicked}> 
       Cancel 
      </button> 
     </form> 
    } 
} 

回答

1

我通常使用:

interface ILoginFormProps { 
    loginClicked: (ev) => void; 
    // 
} 

但是,如果你想成爲真正嚴格的關於你的打字:

interface ILoginFormProps { 
    loginClicked: (ev: React.MouseEvent<HTMLButtonElement>) => void; 
    // 
} 
+0

感謝您的快速反應@Cristi。這很好! – Naresh

相關問題