zoukankan      html  css  js  c++  java
  • 2-渲染及传值

    基本渲染

    将变量的值直接显示到页面中。在jsx中可以在大括号直接编写Js代码,如果是变量,则直接输出。

    function Welcome(props) {  
    
      let msg = 'hello world'
    
      return <h1>{msg}</h1>;
    
    }

    列表渲染

    可以通过使用 {} JSX 内构建一个元素集合, key给数组中的每一个元素赋予一个确定唯一的标识,key 帮助 React 识别哪些元素改变了,比如被添加或删除。因此你应当给数组中的每一个元素赋予一个确定的标识

    <ul className="list">      
    
      {       
    
     props.map((item,index) => return <li key={index}>{item}</li>)
    
      }    
    
    </ul>

    条件渲染

    React中的条件渲染和JavaScript中的一样,使用JavaScript运算符if或者条件运算符去创建元素来表现当前的状态,然后让React根据它们来更新UI

    function UserInfo(props){
    
      let {user} = props;
    
      if(user) {
    
        return (
    
      <div>欢迎您 {user.name} 头像</div>
    
        )
    
      }
    
      return (
    
        <div><a href="#">亲,请登录</a></div>
    
      )
    
    }

    组件传值

    //组件名称必须首字母大写
    
    function MyCom(props){
    
    //props就是从父组件接受过来的参数组成的对象 props={msg:'hello',age:'12'}
    
    //返回一个模板
    
    return <h1>{props.msg}</h1>;
    
    }
    
    let msg = 'hello'; //父组件
    
    ReactDOM.render(<MyCom msg={msg} age="12"/>,document.getElementById('root'))

    参数的传递,父子组件通信

    1.在子组件使用的时候,写属性名=属性值。这里的属性名和属性值,会存到props对象中。在函数声明组件,props在函数的形参这里。

    2.在子组件的内部,可以使用{props.属性名}

    传递字符串

    <MyComponent foo='this is foo' />

    传递数字

    <MyComponent foo={1,2,3} />   3  //是错误的写法,只会传入最后一个值

    传递布尔类型

    <MyComponent foo={true} />

    传递数组类型

    <MyComponent foo={[1,2,3,4]} />  1234

    传递对象

    <MyComponent foo={{name: 'terry' }} />

  • 相关阅读:
    暑期大作战第三天
    暑期大作战 第二天
    暑假作战第一天
    JDK源码学习笔记——Object
    JVM堆 栈 方法区详解
    JVM入门——JVM内存结构
    Spring Boot 1.Hello World
    Flutter Widget不刷新问题
    Flutter 根界面退出的时候(即是应用退出),不会触发deactivate/dispose方法 / 监听返回按钮
    Android Studio 3.3.1 代码提示不区分大小写
  • 原文地址:https://www.cnblogs.com/wskb/p/11021476.html
Copyright © 2011-2022 走看看