• ReactAntDesignPro应用体会


    1. 第一段:
      jquery ,vue ,react 。不同的设计模式。后者比前者优秀。
    2. 第二段:
      react 组件化概念贯穿所有,用的class创建组件。
    3. 第三段:
      react里面的东西,虚拟dom/diff算法/jsx或者tsx语法,虚拟dom就是用js渲染的标签,react里面用diff算法实现虚拟dom的实时更新。
      看码解释:(下面的代码例子,源于ant design pro )
    //类关键字定义我们的组件, extends 关键字继承我们的react组件,从而让新创建的组件拥有react组件的属性和方法(简称特性)
     class Myform extends React.Component {
          //这里写实例方法,可以操作该类已经拥有的属性和方法,对应的具体业务就是操作state(私有数据仓库)和props(外界传入的属性值一般是取值操作)
         // 从而实现组件的功能要素,有些可以从外界获取或者从父组件传的内容来获取,没有也可以自己创建。 这里可以是方法或者数据或者样式结构,在jsx里面引用就使用到位了
        //这个a函数用事件调用,才有e参数传递
    
        //备注: 这里写的方法一般在虚拟dom里面触发调用,所以在虚拟dom里面有什么需要触发的时间都是要在这里写的,与render方法同级
          a = (e: any): void => {
            e.preventDefault();
            //这个从props里面从父组件获取而来 这个是ant.defign.pro 的东西,但使用了有form这个属性的组件后,就能获取到这个东西
            this.props.form.validateFields((err: any, values:any)
              if (!err) {
                //验证过的数据操作,values里面是表单数据
                console.log('Received values of form: ', values);
                // console.log(this.props.form.getFieldsValue().name); 这是另一种获取表单值的方式
              }
            });
          }
           
          onChange = (date, dateString) => {
            console.log(dateString);
            console.log(date._d.valueOf());  //时间戳 
          }
          //这个是组件继承来的父类里面必然存在的render方法
          render() { 
              //这里写样式对象或者props属性对象等 例子如下:
            const styles = {
                    a:{
                           border:"1px solid red",
                           color:"black",
                     },
             }
             const {xxx} = this.props.XXX;
             const {aaa} = this.state.AAA;   
            return (
               //虚拟dom渲染,这里面必须写符合规范的jsx内容
              <Form hideRequiredMark={true} layout="inline" style={{ backgroundColor: "white", padding: "1rem" }}>
                <Row gutter={32} justify="center">
                  <Col div={8}>
                    <Form.Item style={{ paddingTop: "2.5rem" }}>
                      <Button type="primary" htmlType="submit" onClick={(e: any) => this.a(e)}>
                        查询
                   </Button> 
                    </Form.Item>
                  </Col>
                </Row>
              </Form>
            )
          }
        }
    
    
  • 相关阅读:
    Quartz:基本用法总结
    Linux: ssh免密登陆
    AOP计算方法执行时长
    架构师常用的5种图
    正态分布及正态随机变量
    【转】Ubuntu下解决Depends: xxx(< 1.2.1) but xxx is to be installed
    Robotium和Espresso大PK——速度篇
    使用docker安装mysql并连接
    直接拷贝数据文件实现Oracle数据迁移
    ORA-08103:对象不再存在
  • 原文地址:https://www.cnblogs.com/aryu/p/12193166.html
Copyright © 2020-2023  润新知