React-组件-Transition回调函数和React-组件-受控组件

简介: React-组件-Transition回调函数和React-组件-受控组件

前言


React 官方文档:https://reactcommunity.org/react-transition-group/transition

本文主要介绍的就是 Transition 在之前的三种状态会自动触发对应的回调函数,在以后的需求当中可能会有在指定的回调函数当中进行编写对应的业务代码,所以这里只是样式一下它的执行时机。




生命周期方法


  • onEnter
  • onEntering
  • onEntered
  • onExit
  • onExiting
  • onExited

import React from 'react';
import './App.css'
import {CSSTransition} from 'react-transition-group';
class App extends React.Component {
    constructor(props) {
        super(props);
        this.state = {
            isShow: true
        }
    }
    render() {
        return (
            <div>
                <CSSTransition in={this.state.isShow}
                               classNames={'box'}
                               timeout={3000}
                               unmountOnExit={true}
                               appear
                               onEnter={
                                   console.log('进入动画开始之前')
                               }
                               onEntering={
                                   console.log('进入动画执行过程中')
                               }
                               onEntered={
                                   console.log('进入动画执行完毕')
                               }
                               onExit={
                                   console.log('退出动画开始之前')
                               }
                               onExiting={
                                   console.log('退出动画执行过程中')
                               }
                               onExited={
                                   console.log('退出动画执行完毕')
                               }
                >
                    <div/>
                </CSSTransition>
                <button onClick={() => {
                    this.setState({
                        isShow: true
                    })
                }}>显示
                </button>
                <button onClick={() => {
                    this.setState({
                        isShow: false
                    })
                }}>隐藏
                </button>
            </div>
        );
    }
}
export default App;



受控组件



  • 值受到 react 控制的表单元素

import React from "react";
class App extends React.PureComponent {
    constructor(props) {
        super(props);
        this.state = {
            name: 'yangbuyiya'
        }
    }
    render() {
        return (
            <form>
                <input type="text"
                       value={this.state.name}
                       onChange={(e) => {
                           this.change(e);
                       }}/>
            </form>
        )
    }
    change(e) {
        console.log(e.target.value);
        this.setState({
            name: e.target.value
        });
    }
}
export default App;




受控组件处理技巧


在我们有多个受控组件的时候,这个时候有可能需要编写多个受控组件的处理方法,如果给每一个受控组件绑定一个对应的名称,我们就可以抽离出来一个公共的处理方法处理即可。

import React from 'react';
class App extends React.PureComponent {
    constructor(props) {
        super(props);
        this.state = {
            name: 'yangbuyiya',
            email: '303158131@qq.com',
            phone: '18819522032'
        }
    }
    render() {
        return (
            <form>
                <input type="text"
                       value={this.state.name}
                       name={'name'}
                       onChange={(e) => {
                           this.change(e)
                       }}/>
                <input type="email"
                       name={'email'}
                       value={this.state.email}
                       onChange={(e) => {
                           this.change(e)
                       }}/>
                <input type="number"
                       name={'phone'}
                       value={this.state.phone}
                       onChange={(e) => {
                           this.change(e)
                       }}/>
            </form>
        )
    }
    change(e) {
        this.setState({
            [e.target.name]: e.target.value
        })
    }
}
export default App;

官方文档



最后

本期结束咱们下次再见👋~

🌊 关注我不迷路,如果本篇文章对你有所帮助,或者你有什么疑问,欢迎在评论区留言,我一般看到都会回复的。大家点赞支持一下哟~ 💗

相关文章
|
5月前
|
设计模式 前端开发 数据可视化
【第4期】一文了解React UI 组件库
【第4期】一文了解React UI 组件库
314 0
|
5月前
|
资源调度 前端开发 JavaScript
React 的antd-mobile 组件库,嵌套路由
React 的antd-mobile 组件库,嵌套路由
103 0
|
14天前
|
前端开发 JavaScript
react学习(21)受控组件
react学习(21)受控组件
|
2月前
|
存储 前端开发 JavaScript
React的受控组件与非受控组件(九)
【8月更文挑战第15天】React的受控组件与非受控组件
28 2
React的受控组件与非受控组件(九)
|
14天前
|
前端开发 JavaScript
react学习(20)非受控组件
react学习(20)非受控组件
|
2月前
|
存储 前端开发 JavaScript
React 中受控组件和非受控组件的区别
【8月更文挑战第31天】
22 0
|
2月前
|
前端开发 数据安全/隐私保护
React——受控组件和非受控组件【八】
React——受控组件和非受控组件【八】
33 0
|
3月前
|
JavaScript 前端开发
react18【系列实用教程】双向绑定表单 (2024最新版)含受控组件、非受控组件、单行多行输入框 input,下拉选择 select,单选 radio,多选 checkbox,标签 label
react18【系列实用教程】双向绑定表单 (2024最新版)含受控组件、非受控组件、单行多行输入框 input,下拉选择 select,单选 radio,多选 checkbox,标签 label
98 1
|
5月前
|
监控 前端开发 搜索推荐
react 表单受控的现代实现方案
`react-form-simple`是一个轻量级的React表单库,专注于简化受控表单的开发,提供数据绑定、验证、错误处理和UI更新等功能。它通过简洁的API减少复杂性,支持第三方UI库集成,并具备高度可扩展性。核心特点包括基于Proxy的数据绑定、实时错误处理、高效的UI更新和灵活的使用方式。通过`useForm`和`render`等钩子,开发者可以快速构建表单应用,同时支持动态表单和自定义验证规则。该库旨在提高开发效率,适用于复杂表单场景,降低学习和维护成本。
205 2
react 表单受控的现代实现方案
|
5月前
|
存储 前端开发 JavaScript
React的表单处理:受控组件与非受控组件深入解析
【4月更文挑战第25天】React表单处理涉及受控和非受控组件。受控组件通过状态管理表单数据,每次用户输入都触发状态更新,确保数据同步,适合实时交互但可能影响性能。非受控组件不直接管理状态,数据存储在DOM中,简化代码,适用于更新不频繁的场景,但在数据验证和同步上存在挑战。开发者应根据需求灵活选择。