慕森卡
2022-08-27 13:58:32
我想向我的 TableRow 添加一個偵聽器。令我驚訝的是,簡單地給出一個像這樣的onClick道具:onClick<TableRow onClick = {()=> console.log("clicked")}> <TableCell> Content </TableCell></TableRow>我無法理解這種行為,因為,看著代碼:https://github.com/mui-org/material-ui/tree/master/packages/material-ui/src/TableRow 我沒有在任何地方看到道具的定義。onClick那么,為什么它有效呢?謝謝。
2 回答

婷婷同學_
TA貢獻1844條經驗 獲得超8個贊
它不是聽 ,而是底層組件,默認情況下是 React 的,因為它將它獲得和不使用的所有道具傳遞給它。TableRow
onClick
tr
TableRow
如果為不同的底層組件提供 ,則如果要保留該功能,則必須使用 該組件執行某些操作。<TableRow component={...} onClick={...} />
onClick
這是發生的事情:
TableRow
采取以下道具:然后,它返回一個(第 50 行),這是您作為 prop 傳遞的任何內容(有關 prop 類型,請參閱第 82 行),或者,如果您沒有傳遞任何內容,則默認情況下(第 42 行和第 33 行)
Component
component
tr
)然后,該組件采用 發送的所有道具,這些道具是:
tr
TableRow

慕村9548890
TA貢獻1884條經驗 獲得超4個贊
onClick 不是 Material UI 功能(或 prop)。
相反,它是一個原生的 React onClick 函數,您可以閱讀更多內容:https://reactjs.org/docs/handling-events.html
無論你在 React 文檔中找到什么功能,你都可以在 MaterialUI 和任何 MaterialUI 元素上使用,因為 MaterialUI 是基于 React 的。
添加回答
舉報
0/150
提交
取消