美文网首页
2019-03-13React基础笔记

2019-03-13React基础笔记

作者: 染指倾城之人 | 来源:发表于2019-03-13 11:06 被阅读0次

    1.组件名称必须是大写字母开头,且调用它的时候必须先定义或引用它。
    2.组件的返回值必须只有一个根元素;
    3.props不可修改
    4.使用componentDidMount来挂载东西
    5.使用componentWilUnmount来卸载东西
    6.正确使用状态state
    ①不能直接更新状态,要使用this.setState(),构造函数是唯一能够初始化this.state的地方;
    ②状态更新可能是异步的,所以不能依靠它的值来计算下一个状态,优化:使用第二中setState形式,接受一个函数,参数为上一次的状态;
    ③状态更新合并,浅合并,也就是当更新其中一个属性值的时候,其他的属性值也会合并到更新的状态中;
    7.数据自顶向下流动,单向数据流
    8.事件:
    绑定事件属性命名为驼峰命名
    采用jsx语法需要传入函数作为事件处理函数,而不是字符串
    不能使用return false 来阻止默认行为,只能用preventDefault;
    9.当使用class语法来定义一个组件的时候,事件处理器会成为类的一个方法。类的方法默认不绑定this的。如果绑定this,要在构造函数中用bind重新指定。如果忘记在构造函数中绑定并将它传入给事件,当调用函数的时候返回undefined。
    10.通常情况下,如果你没有在方法后面添加(),应该为这个方法在构造函数中绑定this。this.fangfa = this.fangfa.bind(this);
    也可以用另外两个方法:①使用属性初始化器来正确绑定回调函数;fangfa = () =>{};
    ②在回调函数中使用箭头函数:onClick = {(e)=>this.fangfa(e)};但如果作为属性值传递给低级组件的话,会出现额外的重新渲染,不建议使用。
    11.向事件处理程序添加参数
    ①onClick = { (e)=>this.fangfa(id,e) }
    ②onClick = {this.fangfa.bind(this,name)} 注:在函数中,事件对象e 排在所有的参数后面 -----> fangfa(name,e){}
    12.条件渲染组件
    ①声明变量并使用if条件渲染组件
    ②与运算符&&
    因为在js中,true && expression ===>expression
    false && expression ====>false
    ③三目运算符
    ④rander方法返回null
    13.元素位于map()方法内时需要设置键属性key
    14.数组元素中使用key在兄弟间是独一无二的,然而不需要是全局唯一的。
    15.key是给react的提示,不是传递给用户的组件,如果组件中需要使用与key相同的值,请使用其他属性名显示传递。

    1. <input type = "text" > <textarea> <select> 都是通过传入value属性来实现对组件的控制。
      17.组件与模块

    相关文章

      网友评论

          本文标题:2019-03-13React基础笔记

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