React onClick/onChange传参(bind绑定)问题

 更新时间:2023年02月12日 14:52:06   作者:BasicLab基础架构实验室  
这篇文章主要介绍了React onClick/onChange传参(bind绑定)问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

React onClick/onChange传参(bind绑定)

一般是通过 bind 函数绑定 this,来传递参数的,没有参数就是下面这种方式或者直接写函数名

代码如下:

//被触发函数写法:
const onChange = (e) => {
    //操作
}
 
onChange={onChange}
or
onChange={onChange.bind(this)}

有参调用,代码如下:

//被触发函数写法:
const onChange = (index, e) => {
    //操作
}

传值调用:

onChange={onChange.bind(this, 0)}

onClick 传参方式同上,就不在此赘述了。

到此 React onClick/onChange 传参 (bind绑定)介绍完成。

React基础语法与组件传参

react 特点

  • 构建用户界面的javascript库
  • facebook 脸书出品
  • 组件化
  • 单向数据流
  • 生命周期
  • 虚拟dom
  • hooks

jsx 语法

方便js中书写html模板,javascript与html混合写法

  • 1. 只有个根节点
  • 2. {} js表达式
  • 3. {/* 注释内容*/}
  • 4. className定义类名
  • 6. 样式对象会自动展开
  • 6. 数组可以包含html ,并自定展开

react组件

函数组件

function App(){
    return <div> ... </div>
}
export default App;

类组件

import React,{Componet} from 'react'

class App extends Componet {
    constructor(props){
        super(props)
    }
    state = {num:5}
   render(){
      return <div></div>
   }
}
export default App

函数组件和类组件区别

1.函数组件通常展示

类组件通常做为容器

2.类组件可以有state,管理数据用类组件

函组件没有state

3.函组件没有this

类组件 有this

4.函数组件没有生命周期

类组件有生命周期

模板语法

文本

// 普通文本
 <h1 className="active">你好react</h1>
// html文本
 <div dangerouslySetInnerHTML={_html:html文本内容}></div>

条件渲染

{flag&&<h1>为true显示</h1>}
{flag?'true显示':'false显示'}

列表渲染

{list.map(item=><h3 key={item}>{item}</h3>)}

事件

// 和原生js事件一致 事件命名用驼峰式
onclick   // 原生
onClick   // react
onmouseover  // 原生
onMouseover  // react

// 事件总是要响应一个函数
<h1 oncClick={()=>{ alert("abc")}}>

// 事件响应 箭头函数
doit = ()=>{ alert("你好")}

// 事件响应定义好的函数
<h1 onClick={this.doit}>

state

  • react组件的状态/数据
  • this.setState({k:新的值})
  • 当state发生变化,引用state的视图会自动更新

表单的数据绑定

changeMsg=e=>this.setState({msg:e.target.value})
<input  value={this.state.msg} onChange={this.changeMsg}>

组件

组件名称的首字母必须大写

组件传参示意图

定义组件

src/components/Steper.js

在App.js导入组件

import Steper from './components/Steper'

在App.js render函数中使用

<Steper></Steper>

组件传参

父传子 props

// 父组件传递
<Steper  num={5}>

// 子组件接收
props.num

默认参

Steper.defaultProps = {
    num:1
}
  • 子传父,执行父组件的传递过来的props回调函数
  • 子传父:执行回调函数

子传父

// 父组件 
// 定义函数并把函数传递给子组件
updateSize = (n)=>this.setState({size:n})  // 定义函数
<Steper updateSize={this.updateSize}>      // 传递给子组件

// 子组件
// 执行
props.updateSize()   // 相当于执行父组件的updateSize方法

组件的设计

容器组件

  • 一个页面,一个容器组件
  • 有state,处理state方法
  • 数据中心,与数据处理组中心
  • 类组件

视图组件

  • 显示内容,一个视图组件
  • 只有props没有state
  • 函数组件

解构

dom 引用

// 1. 导入创建dom 引用的方法
import {createRef} from 'react'
// 2. 创建dom引用
var inp = createRef()
// 3. 引用
<input ref={inp}>
// 4. 获取值
inp.current.value
inp.current 当前引用的dom节点

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在react项目中使用antd的form组件,动态设置input框的值

    在react项目中使用antd的form组件,动态设置input框的值

    这篇文章主要介绍了在react项目中使用antd的form组件,动态设置input框的值,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 详解React 条件渲染

    详解React 条件渲染

    这篇文章主要介绍了React 条件渲染的相关资料,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
    2020-07-07
  • React Hooks使用常见的坑

    React Hooks使用常见的坑

    React Hooks 是 React 16.8 引入的新特性,允许我们在不使用 Class 的前提下使用 state 和其他特性。接下来通过本文给大家分享React Hooks使用避坑指南,一起学习下吧
    2021-06-06
  • hooks中useEffect()使用案例详解

    hooks中useEffect()使用案例详解

    这篇文章主要介绍了hooks中useEffect()使用总结,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • Redis数据结构面试高频问题解析

    Redis数据结构面试高频问题解析

    这篇文章主要为大家介绍了Redis数据结构高频面试问题解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 基于PixiJS实现react图标旋转动效

    基于PixiJS实现react图标旋转动效

    PixiJS是一个开源的基于web的渲染系统,为游戏、数据可视化和其他图形密集型项目提供了极快的性能,这篇文章主要介绍了用PixiJS实现react图标旋转动效,需要的朋友可以参考下
    2022-05-05
  • 探讨JWT身份校验与React-router无缝集成

    探讨JWT身份校验与React-router无缝集成

    这篇文章主要为大家介绍了JWT身份校验与React-router无缝集成的探讨解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • React实现页面状态缓存(keep-alive)的示例代码

    React实现页面状态缓存(keep-alive)的示例代码

    因为 react、vue都是单页面应用,路由跳转时,就会销毁上一个页面的组件,但是有些项目不想被销毁,想保存状态,本文给大家介绍了React实现页面状态缓存(keep-alive)的代码示例,需要的朋友可以参考下
    2024-01-01
  • next-redux-wrapper使用细节及源码分析

    next-redux-wrapper使用细节及源码分析

    这篇文章主要为大家介绍了next-redux-wrapper使用细节及源码分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • React Hook用法示例详解(6个常见hook)

    React Hook用法示例详解(6个常见hook)

    这篇文章主要介绍了React Hook用法详解(6个常见hook),本文通过实例代码给大家介绍了6个常见hook,需要的朋友可以参考下
    2021-04-04

最新评论