美文网首页
React开发实战——问题集

React开发实战——问题集

作者: 兔子不打地鼠打代码 | 来源:发表于2018-03-14 21:35 被阅读17次

    1、import Row 和 import {Row}的区别,同样是import一个内容时,为什么一个要加{ },一个不加?
    答:如果引用的是组件的话,即使只有一个也要加上花括号 { };
    如果引用的是类/函数且数量大于一,则需要加上{ }

    2、.then 的作用?
    事实上 .then 是 ES6 里Promise的一个方法。

    因为在JavaScript中,所有代码都是单线程执行的。所以JavaScript的所有网络操作,浏览器事件,都必须是异步执行。异步执行可以用回调函数实现:

    function yibu(success,yichang){
        let a = Math.random()*1000;
        setTimeout(()=>{
            console.log("我是随机 a",a);
            if(a > 10){
                success(666);
            }else {
                yichang(999);
            }
        },2000)
    }
    
    let xiaoP = new Promise(yibu);
    // x 是异步执行成功之后返回的值
    let success = xiaoP.then((x)=>{
        console.log(x);
    });
    let failed = success.catch((y)=>{
        console.log("我是失败 y",y);
    });
    

    但是这样子嵌套不利于代码的可读性,所以就有了.then .catch方法

    new Promise(yibu).then((x)=>{
        console.log(x);
    }).catch((y)=>{
        console.log("我是失败 y",y);
    });
    

    3、什么是链式函数?
    闭包函数就是在函数内部的函数,可以写成链式函数,这样子更容易表达其逻辑关系。

    class Promises{
        then(x){
            console.log("我是 then x",x);
            return this;
        }
        catch(y){
            console.log("我是 catch y",y);
            return this;
        }
    }
    

    链式函数

    new Promises().catch("xiaojing").then("zhangzhao")
    .then("naguo").then("laoda");
    
    

    4、执行上下文的中的this(掘金小册)

    var a = {
        name: 'A',
        fn: function () {
            console.log(this.name)
        }
    }
    a.fn()  // this === a
    a.fn.call({name: 'B'})  // this === {name: 'B'}
    var fn1 = a.fn
    fn1()  // this === window
    

    4、ES6语法中的 更加简介的模块化
    如果只是输出一个唯一的对象,使用export default即可,代码如下

    // 创建 util1.js 文件,内容如
    export default {
        a: 100
    }
    
    // 创建 index.js 文件,内容如
    import obj from './util1.js'
    console.log(obj)...
    

    行不通呀

    6、 let {getFieldProps} = this.props.form; 为什么可以这样写?
    答:这是ES6的一个语法糖,其实就是变量的结构赋值。其实就相当于下面代码:

    let this.props.form = {
      "getFieldProps":123
    }
    let getFieldProps = this.props.form.getFieldProps
    
    

    相关文章

      网友评论

          本文标题:React开发实战——问题集

          本文链接:https://www.haomeiwen.com/subject/ljvqqftx.html