• react.js



    <
    html> <head> <script src="../build/react.js"></script> <script src="../build/react-dom.js"></script> <script src="../build/browser.min.js"></script> </head> <body> <div id="test"></div> <script type="text/babel"> //-------dome1 ReactDOM.render( <h1>hellow,word1111!</h1>, document.getElementById('test') ); </script> </body> </html>

    dome2

    // ---------dome2
    var names = ['xiaom','xiaohong','xiaohei1'];
    ReactDOM.render(
    <div>
      {
        names.map(function(name){
          return <div>hellow,{name}!</div>
        })
      }
    </div>,
    document.getElementById('test')
    );
    

    dome3

    var names=[
       <h1>hellow:number 1</h1>,
       <h3>hellow:number 2</h3>  
    ];
    
    ReactDOM.render(
       <div>{names}</div>,
       document.getElementById('test')  
    );
    ** 注意 双标签必须合法 不然会报错 Uncaught SyntaxError: embedded: Unexpected token
    结果:

    dome4:

    var HelloClass = React.createClass({
        render:function(){
            return <h1>hellow:{this.props.name}</h1>;   
        }
    });
    ReactDOM.render(
     <HelloClass name="liuhulan"/>,
    document.getElementById('test')
    );
    //注意:组建的类的首字母必须大写 !

    dome5 

    var TestClass = React.createClass({
       render:function(){
          return(
            <ol>
              {
                React.Children.map(this.props.children,function(test){
                  return <li>{test}</li>;
                })
              }
            </ol> 
        );
       }
    });
    
    ReactDOM.render(
      <TestClass>
      <span>9897878</span>
      <span>911111</span>
      </TestClass>,
      document.getElementById('test')
    );
    
    //  this.props.children    
    // map  :循环

     dome6

    //---------dome6
    var TestProp = React.createClass({
    //属性
    propTypes:{
    //要求TestProp组建有一个title 属性 这个属性必须是字符串 而且是必填
    title:React.PropTypes.string.isRequired,
    },
    render:function(){
    return <h1>{this.props.title}</h1>
    }
    });
    
    var data="abc";
    // var data=123;
    ReactDOM.render(
    <TestProp title={data}/>,
    document.getElementById('test')
    );
    // 如果data=123 会报错 Warning: Failed propType: Invalid prop `title` of type `number` supplied to `TestProp`, expected `string`

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

    var TestProp = React.createClass({
    //getDefaultProps 默认组建属性的值
    getDefaultProps:function(){
    return {title:"hello,word",abc:'uuuuu'};
    },
    render:function(){
    return <h1>{this.props.title}---{this.props.abc}</h1>
    }
    });

    
    

    ReactDOM.render(
    <TestProp/>,
    document.getElementById('test')
    );

    dome7

    var down = document.getElementById('test');
    //---------------dome8 
    var TestController = React.createClass({
    //初始化一个标记
      getInitialState:function(){
        return {liked:true};
      },
    //this.setState修改状态值
      clickFunction:function(event){
        this.setState({liked:!this.state.liked});
      },
    
      render:function(){
        var message=this.state.liked?'like':'not like';
        return(
            <p onClick={this.clickFunction}>00000:{message}</p>
        );
      }
    });
    ReactDOM.render(
    <TestController/>,down
      );

    dome8

    //输入框的值改变p标签的值也改变
    var down = document.getElementById('test');
    var Input = React.createClass({
      //初始化tag的值
          getInitialState:function(){
            return {tag:'Hello1212'};   
          },
      //触发事件重新赋值
      inputChange:function(event){
        this.setState({tag:event.target.value});
      },
      render:function(){
        var message=this.state.tag;
        return(
          <div>
          <input type="text" value={message} onChange={this.inputChange}/>
          <p>{message}</p>
          </div>
        );
      }
    });
    
    ReactDOM.render(
      <Input/>,down
    );
    ---
  • 相关阅读:
    SAP组件和支持包的安装
    abap动态内表获取字段名
    ooalv设置保存格式
    READ_TEXT取的文本&变为 <(>&<)>了怎么办
    SAP后台作业相关表
    63013
    ABAP 对内表数据下载到EXCEL的几种方法
    vue 教程
    spring 注解@PathVariable
    MyBatis动态添加—trim标签
  • 原文地址:https://www.cnblogs.com/yhl664123701/p/5844874.html
Copyright © 2020-2023  润新知