zoukankan      html  css  js  c++  java
  • react 小细节

     注释:react的注释也需要用括号括起来

    1:{/**/}
    
    2: {
    //
    }
    

     第二种写法需要换行,不然会认为你的括号也是需要注释的内容

    for:laber的for一般是用来指向输入框,但是在react中你在laber中写for会提示你,所有在react中for用htmlFor替代

    li:若想li中展示的内容不被转义则可以加上dangerouslySetInnerHtml={{__html:item}}    item为需要li展示的内容

    class:class用className替换

    state设置值的三种语法:前两种都是setState这个method内传入一个method,第三种为直接传入对象。

    	//prevState是这种写法默认传入的参数,等价于this.state
    this.setState((prevState)=>{        const list = [...prevState.list]; return{list}; //{list:list} 简写成list es6的简写语法 });
     this.setState((prevState)=>({
    			list:[...prevState.list,prevState.inputValue],		
    		 }));
    

     这种写法与上一种写法的差别在‘return’,因为在第一种写法中做了一点数据处理,所以我们需要用return来返回,以此做到改变state的效果所以调用的方式为this.setState(()=>{})

    在第二种调用方式中并没有需要处理的逻辑放在setState中,所以直接写成this.setState(()=>({})) 这种就是直接return里面的内容

    this.setState({
    			list:[...this.state.list]
    		});
    

     第三种写法直接在this.setState()中传入一个对象。

    key:在循环展示数据的时候例如

    this.state.list.map((item,index)=>{
    return <li>item</li>
    })
    

     此时key应该放在<li>,但如果li标签被其他标签包裹,例如

    this.state.list.map((item,index)=>{
    return  <div><li>item</li><div>
    })
    

     那么此时的key应该放在div中,因为在循环展示列表时,key应在map的最外层,也就是说如果在上面的代码中的div之外还存在div,那么应放在最外面的div

    子组件如何修改父组件的值:通过父组件对子组件传入的方法来间接的修改父组件的值

    单向数据流:子组件可以使用父组件传递的参数,但是不允许修改。也就是说数据的流向是父=》子 ,绝对不允许子=》父。如果需要修改,可以通过父组件传递的方法,来进行间接的修改。

    react是视图层框架;

    return <div>content</div>  等价于 React.createElement(‘div’,{},content) 

    React.createElement(标签名,属性,内容);

    react Diff算法

     在虚拟dom进行对比时进行的算法称为diff算法

     this.setState((prevState)=>{}.()=>{回调})
    this.setState({},()=>{回调})
    两种写法等价

    ref 获取当前dom

    <input ref={(inputPar) => {
                    this.inputPar = inputPar
                }}
                /> 

    然后在其他方法中直接使用this,input就可以直接使用这个dom节点了

    怕什么真理无穷 进一寸有一寸的欢喜
  • 相关阅读:
    Dom 动态添加元素节点总结
    SQLserver 获取当前时间
    Var的用法解析
    JS 转换HTML转义符
    20210602---为了养老,全力以赴,珍惜每一秒钟。决心不够大,不够担心未来,现在虽然挣得少,但是有吃有喝,满足了。
    20210601——今天开始狠狠奖励自己,而且是必须玩的这种。做事投入你就会快乐。
    20210531兴趣
    20210527学习笔记--没成功的唯一原因是,想得和说的太多 做的太少。
    20210526--今年还有半年,抓紧一切时间学习
    20210524学习笔记---从记日记开始已经有3个月了,浪费时间的痕迹渐渐清醒
  • 原文地址:https://www.cnblogs.com/ccbk/p/10849026.html
Copyright © 2011-2022 走看看