项目漫笔

1.render中最好不要放处置惩罚数据的逻辑,不能转变props,state的值,不然render后又得render一次,形成屡次render),render中不要用localStorate,和sessionStorage(这算是操纵数据,最好让render之担任展示,术业有专攻).

在组件中,最好不要对props赋值,假如想赋值就用state.由于props能够说是父组件通报的,是牢固的。而state是组件本身的,想怎么搞就怎么搞.所以this.props平常在等号的右侧;this.state平常在等号的左侧。这也是为何有了props还要有一个state的缘由。

2.在pleageRedux中要求服务器数据,并将效果dispatch,也能够在效果中再增加一些数据再dispatch,,如许,在pledge.js中就能够用this.prop来猎取这些效果了。

3.在willMount中设置数据setState,不会render.而会在willMount以后render.

4.

class Pledge extends Component{
    constants = {
        pages: {
            ...
        },
    }

    state = {
        ...
    }
}

像上面这类状况,能够不必写

constructor(props){
    super(props);
}

这时候,体系自动帮你把这一步做了。

假如是UI组件的话,最好有

static defaultProps = {
    
}
static propTypes = {
    
}

5.完成处置惩罚的handeler函数,最好写成

const handler = () => {
    
}

如许能够自动绑定this

运用最简的

const handler() {
    
}

则不能自动绑定。

然则render函数则常常运用

render() {
    
}

用以简化代码
6.运用以下代码

func = () => {
    console.log('sss');
};

末端要加分号。而运用以下代码,末端不必加分号。

func () {
        console.log('sss');
    }

7.当if语句内里没有表达式,只是某个值时 如 if (XXX) 它会自动实行Boolean(xxx)操纵, 即 if(XXX) = if(Boolean(xxx))

    原文作者:wscops
    原文地址: https://segmentfault.com/a/1190000010257307
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞