• react 学习笔记第二次课



    react 第二次课

    jsx--变量
    jsx--function
    component

    ------------------------------------------


    component 组件

    写法

    1.class
    2.自定义组件


    1.class //继承

    class HelloMessage extends React.Component{//组件
    render(){
    return <h1>hello,{this.props.abc}</h1>
    }
    };

    传参:通过标签的自定义属性传参

    例子: <HelloMessage abc={data.address}/>

    获取参数:例子:{this.props.abc}

    ------------------------------------------

    2.自定义组件


    const data = {
    address:'wuhan',
    obj:{
    name:'sonia'
    }
    };

    const name = 'lili';
    /*自定义组件 需要显示传递props 方法二*/
    function Welcome(props){
    return <h1>hello,{props.name}</h1>
    };


    使用:<Welcome name={data.address}/>

    注意:自定义函数名 首字母要求大写!!

    ------------------------------------------

    组件嵌套

     下面是代码展示

    <!DOCTYPE html>
    <html>
      <head>
        <title>jSX-function</title>
        <meta charset="UTF-8" />
        <script src="node_modules/react/umd/react.development.js"></script>
        <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
        <script src="node_modules/babel-standalone/babel.min.js"></script>
        <style>
          .lists {
            color:#f60;
          }
        </style>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
          /*JSX  用于将模板转为 HTML 语言,并插入指定的 DOM 节点*/
          function action(item){
            return item.name +''+item.age;
            //return item;
          };
          //var user ='world123';
          const user = {
            name:'lili',
            age:22
          };
          var element =<h1 className="lists">hello,{action(user)}</h1>
          ReactDOM.render(
            element,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>
    

      

    <!DOCTYPE html>
    <html>
      <head>
        <title>component</title>
        <meta charset="UTF-8" />
        <script src="node_modules/react/umd/react.development.js"></script>
        <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
        <script src="node_modules/babel-standalone/babel.min.js"></script>
        <style>
    
        </style>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
         class HelloMessage extends React.Component{//组件
           render(){
             return <h1>hello,{this.props.abc}</h1>
           }
         };
         const data = {
           address:'wuhan',
           obj:{
             name:'sonia'
           }
         };
         const name = 'lili'; 
         /*自定义组件  需要显示传递props 首字母大写 方法二*/
         function Welcome(props){
           return <h1>hello,{props.name}</h1>
         };
          
          ReactDOM.render(
            <div>
              <Welcome name={data.address}/>
              {/*<HelloMessage></HelloMessage>*/}
              <HelloMessage abc={data.address}/>
            </div>,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>
    

      

    <!DOCTYPE html>
    <html>
      <head>
        <title>component--组合(嵌套)</title>
        <meta charset="UTF-8" />
        <script src="node_modules/react/umd/react.development.js"></script>
        <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
        <script src="node_modules/babel-standalone/babel.min.js"></script>
        <style>
    
        </style>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
         const data = {
           address:'wuhan',
           obj:{
             name:'sonia'
           }
         };
         const name = 'lili'; 
         /*自定义组件  需要显示传递props*/
         function Welcome(props){
           return <h1>hello,{props.name}</h1>
         };
         function App(){/*嵌套*/
           return(
             <div>
                <Welcome name={data.address}/>
                <Welcome name='list2'/>
                <Welcome name='list3'/>
             </div> 
           );
         };
    
          ReactDOM.render(
            <App />,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>
    

      

    <!DOCTYPE html>
    <html>
      <head>
        <title>component--组合(嵌套)</title>
        <meta charset="UTF-8" />
        <script src="node_modules/react/umd/react.development.js"></script>
        <script src="node_modules/react-dom/umd/react-dom.development.js"></script>
        <script src="node_modules/babel-standalone/babel.min.js"></script>
        <style>
    
        </style>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
         const comment = {
            date: new Date(),
            text: 'I hope you enjoy learning React!',
            author: {
              name: 'Hello Kitty',
              avatarUrl: 'http://placekitten.com/g/64/64'
            }
          };
          function formatDate(d){
            return d.toLocaleDateString();
          };
          function Comment(props){
            return(
              <div className="list1">
                <div>
                  <img src={props.author.avatarUrl}/>
                  <p>{props.author.name}</p>
                </div>
                <div>{props.text}</div>
                <div>{formatDate(props.date)}</div>
              </div>
            )
          };
         
    
          ReactDOM.render(
            <Comment 
              date={comment.date}
              text={comment.text}
              author={comment.author}/>,
            document.getElementById('example')
          );
        </script>
      </body>
    </html>
    

      

  • 相关阅读:
    2015年工作中遇到的问题:21-30(这10个问题很有价值)
    简要总结最近遇到的5个问题
    简要总结最近遇到的5个问题
    我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)
    我到底要选择一种什么样的生活方式,度过这一辈子呢:人生自由与职业发展方向(下)
    IT咨询服务-客户案例(四):根据图片等素材,动态生成个性化图片
    IT咨询服务-客户案例(四):根据图片等素材,动态生成个性化图片
    分布式系统若干经验总结
    分布式系统若干经验总结
    最近遇到的若干技术问题
  • 原文地址:https://www.cnblogs.com/shaozhu520/p/9741937.html
Copyright © 2020-2023  润新知