zoukankan      html  css  js  c++  java
  • React基础学习混搭

    最近学习一下React,通过  阮一峰《React 入门实例教程》 、React 入门教程菜鸟教程--React 这三个学习基础使用,接下来看慕课网的三个教学视频。

    React是什么我也不能说的很透彻,但学习时候觉得就是能摆脱不得复用的陋习,要什么就写什么组件。

    以下内容包含  利用Jquery读取ajax,利用map遍历,同时用到了父子组件,组件生命周期,state,props。

    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="UTF-8" />
        <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react.js"></script>
        <script src="http://static.runoob.com/assets/react/react-0.14.7/build/react-dom.js"></script>
        <script src="http://static.runoob.com/assets/react/browser.min.js"></script>
        <script src="http://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
    </head>
    <body>
    <p>根据ajax获得一个JSON对象  遍历出信息,同时定义一个按钮子组件,通过props.id传递,并将ID打印出来 </p>
    <div id="example"></div>
    <script type="text/babel">
    //子组件 按钮
    var ButtonDel = React.createClass({
        handleClick : function(){
            console.log(this.props.id)
        },
        render: function(){
            return (
                <button id={this.props.id} onClick={this.handleClick}>del me</button>//读取父组件上的id属性
            )
        }
    });
    
    var UserGist = React.createClass({
    //定义初始化state 我当做声明来用
        getInitialState : function(){
            return{
                config :[]
            }
        },
    //组件第一次渲染调用后,使用ajax
      componentDidMount: function() {
        var config = this.state.config;
        $.get(this.props.source, function(result) {
    //拿到返回的值之后设置state 把整个json给config
         this.setState({
            config : result
         });
        }.bind(this));
      },
    
      render: function() {
        var config = this.state.config;
        var items = config.map(function(item){
            return (
                <li>
                   { item.owner.login}  link  {item.html_url}
                   <ButtonDel id={item.id}/> //这个是按钮子组件
                </li>
            );
        },this); //这里的this是做什么用的呢?
    // <ButtonDel id={item.id} delClick={this.handleClick} > 如果上面的ButtonDel出现this.handleClick 需要上面的this
        return (
          <div>
            {items}
          </div>
        );
      }
    });
    //定义组件
    ReactDOM.render(
      <UserGist source="https://api.github.com/users/octocat/gists"/>,
      document.getElementById('example')
    );
        </script>
    </body>
    </html>

    上面的结果就是点击console.log   button上面的id,再进行别的操作。

    以上只是小小整合,期待能更加深入进入学习.....待续

  • 相关阅读:
    ajax中的application/x-www-form-urlencoded中的使用
    XMLHttpRequest的POST中文表单问题解决方案
    Address already in use: JVM_Bind<null>:80
    javascript-XMLHttpRequest
    The web application [/codeMarket] registered the JBDC driver[.........] but failed to unregister it when the web application was stopped. To prevent
    cookie的一些细节
    js操作cookie
    javascript与服务器3
    javascript与服务器1
    javascript与服务器2
  • 原文地址:https://www.cnblogs.com/QRL909109/p/5496487.html
Copyright © 2011-2022 走看看