09React中判断和循环(if和map)

1:新建一项目 npx  create--react-app  lesson21

2:删除lesson21里面src目录中所有内容

3:分别新建四个js文件

   index.js    App.js   child1.js     child2.js

09React中判断和循环(if和map)_第1张图片

4:分别写入如下代码

index.js

import React from 'react'
import  ReactDom from  "react-dom";
import App  from  "./App";

ReactDom.render(,document.getElementById("root"));

App.js

import React, { Component } from 'react'
import Child1 from "./Child1";
import Child2 from './Child2';

export default class App extends Component {
    render() {
        return (
            
) } }

Child1.js

import React, { Component, Fragment } from 'react'
export default class Child1 extends Component {
   
    render() {
        return (
            
我是子组件1
) } }

Child2.js

import React, { Component } from 'react'

export default class Child2 extends Component {
    render() {
        return (
            
我是子组件2
) } }

完成运行  可以看到页面组件之间的嵌套效果  接下来在Child1中学习判断 判断年龄是否成年

使用三元运算符

09React中判断和循环(if和map)_第2张图片

补充一个知识点  占位符   有的时候不想显示下图红框的div

09React中判断和循环(if和map)_第3张图片

可以使用<>  或者代码如下

09React中判断和循环(if和map)_第4张图片

结果如图

09React中判断和循环(if和map)_第5张图片

接着我们改写代码如下

 

import React, { Component, Fragment } from 'react'
export default class Child1 extends Component {
    constructor(props){
        super(props);
        this.state={
            userage:18,
            score:Math.round(Math.random()*100)
        }
    }
    render() {  
        var  result = null;
        if(this.state.score>=60){
            result = {this.state.score}及格
        }else{
            result = {this.state.score}不及格
        }
        return (
            <>
                {this.state.userage>=18?"成年":"未成年"}
                {result}
            
        )
    }
}

代码讲解如图

09React中判断和循环(if和map)_第6张图片

继续引入循环继续改写代码

import React, { Component, Fragment } from 'react'
export default class Child1 extends Component {
    constructor(props){
        super(props);
        this.state={
            userage:18,
            score:Math.round(Math.random()*100),
            userlist:[
                {id:1,username:"leson"},
                {id:2,username:"lili"}
            ]
        }
    }
    render() {  
     const  list =  this.state.userlist.map(item=>
  • {item.id}
  • {item.username}
) var result = null; if(this.state.score>=60){ result = {this.state.score}及格 }else{ result = {this.state.score}不及格 } return ( <> {list} {this.state.userage>=18?"成年":"未成年"} {result} ) } }

代码注释如下

09React中判断和循环(if和map)_第7张图片

你可能感兴趣的:(React)