zoukankan      html  css  js  c++  java
  • React入门(一)

    1.React是什么,为什么要使用它

      React是FaceBook内部的一个JavaScript类库,它引入了一种新的方式处理浏览器DOM。你只需要声明式的定义各个时间点的用户界面,而无需关心在数据变化时需要更新哪一部分DOM。

    2.为什么使用JSX(Javascript XML)

      react在不使用JSX时阅读以及理解较为困难,使用了JSX之后调用变为熟悉的HTML标签风格

    3.例子:React一个简单的表单代码

    <style>   //外部css
    .index_title{
        color:#F00   
    }
    </style>
    <div id = "example"> </div> //容器
    var MyForm = React.createClass({
      getInitialState: function() {   //初始化state和props
        return {
            given_name:"",
            family_name:""
        };
      },
      handleChange: function(name,event) {
          var newState = {};
          newState[name] = event.target.value;  //event.target访问触发事件的DOM节点
          this.setState(newState);    //只能通过setState修改状态
      },
      submitHandler:function(event){
          event.preventDefault();
          var words = ["Hi",this.state.given_name,this.state.family_name];    
          alert(words.join(" "))
      },
      render: function() {
        return (
        <form onSubmit = {this.submitHandler}>
            <h1 className = 'index_title'>LETS GO CELTICS</h1>
            <label htmlFor = 'given_name'>Given Name:</label>
            <br/>
            <input
                type = "text"
                name = "given_name"
                value = {this.state.given_name}
                onChange = {this.handleChange.bind(this,'given_name')}/>    
            <br/>
            <label htmlFor = 'family_name'>Family Name:</label>
            <br/>
            <input
                type = "text"
                name = "family_name"
                value = {this.state.family_name}   //访问数据只能通过state和props 通常props保存静态数据 
                onChange = {this.handleChange.bind(this,'family_name')}/>   //change变为onChange、click变为onClick  .bind用来传递参数
            <br/>
            <button type="submit" className = 'btn btn-warning'>Speak</button>   //class变为className
        </form>
        )
      }
    });
    ReactDOM.render(   //创建一个虚拟的DOM,用来表示组件的输出
      <MyForm />,
      document.getElementById('example')
    );
  • 相关阅读:
    公司开发者账号申请流程之开发者账号的开通
    公司开发者账号申请流程之邓白氏码的申请
    关于idlf无法输入中文的解决办法
    python运算符和表达式
    mac修改默认打开方式
    关于app夜间模式那点事
    关于报错:'sharedApplication' is unavailable: not available on iOS (App Extension)
    ios 代码截屏模糊问题解决办法
    MySQL命令行分号无法结束问题解决
    Oracle rownum的理解
  • 原文地址:https://www.cnblogs.com/soup227/p/5949258.html
Copyright © 2011-2022 走看看