React 响应事件

开发环境:React+ts+antd

使用 React 可以在 JSX 中添加 事件处理函数。其中事件处理函数为自定义函数,它将在响应交互(如点击、悬停、表单输入框获得焦点等)时触发。

学习内容
1.编写事件处理函数的不同方法
2.如何从父组件传递事件处理逻辑
3.事件如何传播以及如何停止它们

添加事件处理函数

如需添加一个事件处理函数,你需要先定义一个函数,然后 将其作为 prop 传入 合适的 JSX 标签。

import React from "react";
import {
   
    Button } from 'antd';


const App:React.FC=()=>{
   
   
    const handleClick = () => {
   
   
        alert('你点击了按钮!')
    }
    return (
        <div>
            <Button type="primary" onClick={
   
   handleClick}>点我看看</Button>
        </div>
    )
}

export default App

你可以定义 handleClick 函数然后 将其作为 prop 传入 。其中 handleClick 是一个 事件处理函数 。事件处理函数有如下特点:

  • 通常在你的组件 内部 定义。
  • 名称以 handle 开头,后跟事件名称。

或者,你也可以在 JSX 中定义一个内联的事件处理函数:

<Button type="primary" onClick={
   
   () => {
   
   
	alert('你点击了按钮');
}}>点我看看</Button>

在这里插入图片描述

在事件处理函数中读取 props

由于事件处理函数声明于组件内部,因此它们可以直接访问组件的 props。示例中的按钮,当点击时会弹出带有 message prop 的 alert:

import React from "react";
import {
   
    Button } from 'antd';

interface MessagePro{
   
   
    message:string
    children:React.ReactNode
}

const AlertButton:React.FC<MessagePro> = ({
    
    message,children}) => {
   
   
   return(
       <Button type="primary" onClick={
   
   ()=>{
   
   
           alert(message)
       }}>{
   
   children}</Button>
   )
}

const App:React.FC=()=>{
   
   
    return (
        <div>
            <div>
                <AlertButton message="正在播放!">
                    播放电影
                </AlertButton>
                <AlertButton message="正在上传!">
                    上传图片
                <
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值