请问老师关于button组件

来源:4-11 精益求精 - Buton 组件编码第二部分

hy_wang

2021-08-15

老师你好,我想请问下关于button组件。传入的props竟然还有onClick。这个是react对与button内部自己定义的props类型嘛。

源生button上并没有这个属性吧,这应该是一个事件。。初学react…总觉得事件和props是分开的类似vue那种。react中事件可以看作props的一种,只不过是传递了一个函数,我可以这样理解吗。

还有想请问下老师,react中这些内置类型可以在哪里查阅呀。感觉好杂乱

写回答

1回答

张轩

2021-08-16

同学你好 和 vue 一样,可以把内置的元素(各种 HTML tag),都看成一系列的组件,这些组件除了 HTML 有的标准内置对象,还会添加一些 React 自有的属性。比如这个 onClick。

这个时候和 vue 分开,react 更简单没有属性的概念,都是 props。

每中元素在 React 都有内置的类型对应,查阅的地方就是 React 的定义文件,你可以点进去看看。

import {  ButtonHTMLAttributes } from 'react'
// 这个就是 button 的定义啦,我们来看看
interface ButtonHTMLAttributes<T> extends HTMLAttributes<T> {
    autoFocus?: boolean;
    disabled?: boolean;
    form?: string;
    formAction?: string;
    formEncType?: string;
    formMethod?: string;
    formNoValidate?: boolean;
    ...
 }

其实和原生的 button 属性非常一致的,可以对照原生熟悉看看:https://developer.mozilla.org/en-US/docs/Web/API/HTMLButtonElement

0
0

React18+TS高仿AntD从零到一打造组件库

设计,开发,测试,发布再到 CI/CD,从0到1造轮子

2123 学习 · 959 问题

查看课程