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

1:{/**/}

2: {
//
}

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

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

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

 

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

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄