zoukankan      html  css  js  c++  java
  • React条件性渲染

      React条件性渲染的方式和Vue是不同的,之前用vue做项目时觉得vue是在是强大,通过v-if就可以选择性的渲染组件,另外,对于列表的渲染更是方便,一个v-for就可以进行快速的渲染,但是React无论在条件性渲染还是列表渲染,我觉得都非常的麻烦。 发点牢骚~ 也许后面可以体会到React的强大吧。 

      官网上对于条件渲染有系统的介绍,下面列举两种常用的方式。

      1、对于function 创建组件的方式,我们直接通过if(){}判断即可,如果符合条件,就return一个组件,如果不符合,就return另外一个。  

      2、对于extends React.Component() 的方式,我们一般是在jsx中使用{},来写js,常用的做法是 !!bool && <div></div> 这种方式,当然,我们还可以通过三目运算符的方式进行渲染。   

    如下所示:

    import React from 'react';
    
    require('./log.less');
    
    class Log extends React.Component {
        render () {
            var bool = this.props.isUp;
            return (
                <div className="sign-wrap">
                    <h2>Wayne Chat</h2>
                    <div className="form-control">
                        <label>用户名</label><br/>
                        <input type='text' />
                    </div>
                    <div className="form-control">
                        <label>密码</label><br/>
                        <input type='text' />
                    </div>
                    {
                        !!bool &&
                        <div className="form-control">
                            <label>确认密码</label><br/>
                            <input type='text' />
                        </div>
                    }
                    <div className="form-control">
                        <div className="sub-btn">{this.props.signStyle}</div>
                    </div>
                </div>    
    
            );
        }
    }
    
    export default Log;
  • 相关阅读:
    ::before和::after伪元素的用法
    JS中map、some、every、filter方法
    C++多线程,互斥,同步
    RAII
    Proxy 代理
    Decorator 装饰
    TCP和UDP的9个区别是什么
    谈谈自己对面向对象的理解
    C++11多线程
    std::move
  • 原文地址:https://www.cnblogs.com/zhuzhenwei918/p/7243989.html
Copyright © 2011-2022 走看看