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' }} />

  • 相关阅读:
    最全的.NET Core跨平台微服务学习资源没有之一
    MySQL添加列、删除列,创建主键等常用操作总结
    SQL Server函数之空值处理
    SqlServer中循环和条件语句
    【转载】ASP.NET Core Web 支付功能接入 微信-扫码支付篇
    【转载】ASP.NET Core Web 支付功能接入 支付宝-电脑网页支付篇
    Core知识整理
    C#对接----韵达开发平台--取电子面单
    Cookie 用法
    微信支付V3版本的那些事
  • 原文地址:https://www.cnblogs.com/wskb/p/11021476.html
Copyright © 2011-2022 走看看