簡體   English   中英

按鈕傳遞Onclick事件

[英]Button Pass Onclick Event

我有一個具有onClick屬性的button.tsx。

import * as React from 'react';
interface Props {
 className?: string;
 text: string;
 onClick?(event: React.MouseEvent<HTMLButtonElement>): void;
 type?: string;
}
const submitButton = (event: React.MouseEvent<HTMLButtonElement> , props: 
Props) => {
 event.preventDefault();
 props.onClick(event);
};
export const ButtonComponent = (props: Props) => {
 return (
  <button
   className={props.className}
   type={props.type}
   onClick={submitButton(event, props)}
  >
  {props.text}
 </button>
 );
};

如何將事件傳遞給SubmitButton函數?

現在我有這個錯誤:

“事件”類型的參數不能分配給“鼠標事件”類型的參數。 類型“事件”中缺少屬性“ altKey”。

您在渲染過程中立即調用了submitButton ,而不是將函數作為處理函數傳遞,因此事件不存在,並且您不傳遞任何內容( submitButton的返回類型為onClick)

作為函數傳遞給onClick

<button className={props.className}
        type={props.type}
        onClick={event => submitButton(event, props)}>
  {props.text}
</button>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM