1.if判断
import React, { Component } from 'react'
class ChildrenTwo extends Component {
constructor(props,context) {
super(props,context)
this.state = {
isno:2
}
}
render () {
if (this.state.isno===1) {
return (
这是子组件2,条件判断是1,若果isno是1的话,显示这句话
)
}else{
return (
这是子组件2,条件判断是2,若果isno是2的话,显示这句话
)
}
}
}
export default ChildrenTwo
2.三木运算,$$同理
--这种方法相当于比if更细致一点,if可以判断代码块,三木用于判断部分
import React, { Component } from 'react'
class ChildrenTwo extends Component {
constructor(props,context) {
super(props,context)
this.state = {
isno:1
}
}
render () {
return (
{ this.state.isno===1?这是子组件2,条件判断是1,若果isno是1的话,显示这句话
:这是子组件2,条件判断是2,若果isno是2的话,显示这句话
}
)
}
}
export default ChildrenTwo
---自己补充一点不要对 this.state 赋值,使用 this.setState() 更新 State:
// bad
this.state.foo = 'bar';
this.forceUpdate();
// good
this.setState({
foo: 'bar'
})
3.循环的使用
import React, { Component } from 'react'
import { Link} from 'react-router-dom'
class ChildrenTwo extends Component {
constructor(props,context) {
super(props,context)
this.state = {
isno:1,
btn:[
{name:"当当1",path:"/url1"},
{name:"当当2",path:"/url2"},
{name:"当当3",path:"/url3"},
{name:"当当4",path:"/url4"}
]
}
}
handle=(val,e)=>{
//(e) => this.selectedBtn(e)
console.log(val)
console.log(e)
}
/*注意:给onClick绑定的值应该是个函数[this.handle],
而不是函数的执行结果[this.handle()], 很有区别的;这样写会全部打印出来,所以不行
如果要涉及到传参,可以这样写:onClick={(e) => this.handle(e)}
*/
render () {
return (
{this.state.btn.map((item,index)=>{
return (
this.handle("123",e)}>{item.name}
)
})}
)
}
}
export default ChildrenTwo
4.className的问题
//1.多个样式跟平常写class一样
//2.如果是多个样式,并且有点样式需要动态添加,第一种是es6的语法,最好加个空格,第二种是大众的,一定要将这个数组拼接出来 否则无效
{item.name}
{item.name}