zoukankan      html  css  js  c++  java
  • React初识(按钮点击+输入绑定)

    简单按钮点击事件:

    <!DOCTYPE html>
    <html>
      <head>
      <meta charset="utf-8">
        <script src="../build/react.js"></script>
        <script src="../build/react-dom.js"></script>
        <script src="../build/browser.min.js"></script>
      </head>
      <body>
        <div id="example"></div>
        <!-- 区别就在于 babel 支持将按照ES6写的代码转成ES5格式的代码,
        以便让其能在现代浏览器上正常运行,用jsx, 只能用ES5的语法。 -->
        <script type="text/babel">
        var HelloMessage=React.createClass({
            handClick:function(event){
                <!-- 获取真实DOM  ReactDOM.findDOMNode函数 -->
                var tipE=ReactDOM.findDOMNode(this.refs.tip)
                if(tipE.style.display==="none"){
                    tipE.style.display="inline"
                }else{
                    tipE.style.display="none"
                }
                <!-- 将停止事件的传播 -->
                event.stopPropagation()
                <!-- 阻止元素发生默认的行为 -->
                event.preventDefault()
            },

            render: function(){
              return (
                        
              <div>
                  <button onClick={this.handClick}>显示|隐藏</button>
                  <span ref="tip">测试点击</span>
              </div>
              )
            
            }
        });
        <!-- ReactDom是React的一部分。ReactDOM是React和DOM之间的粘合剂,
        一般用来定义单一的组件,或者结合ReactDOM.findDOMNode()来使用。
        更重要的是ReactDOM包已经允许开发者删除React包添加的非必要的代码,
        并将其移动到一个更合适的存储库。 -->
          ReactDOM.render(
           <HelloMessage />,
           document.getElementById('example')
          );
         
        </script>
      </body>
    </html>

    输入框的绑定简单实现

    <!DOCTYPE html>
    <html>
      <head>
      <meta charset="utf-8">
        <script src="../build/react.js"></script>
        <script src="../build/react-dom.js"></script>
        <script src="../build/browser.min.js"></script>
      </head>
      <body>
        <div id="example"></div>
        <script type="text/babel">
        var HelloMessage=React.createClass({
            getInitialState:function(){
                  return {
                    contentText:''
                  }
            },
            changContent:function(event){
               this.setState({

                     contentText: event.target.value
               })
                event.stopPropagation()
                event.preventDefault()
            },

            render: function(){
              return (       
              <form>
                  <input type="text" placeholder="说点什么吧" onChange={this.changContent} />
                  <p>{this.state.contentText}</p>
              </form>
              )
            
            },
        });
          ReactDOM.render(
           <HelloMessage />,
           document.getElementById('example')
          );
         
        </script>
      </body>
    </html>

    从小白到小明
  • 相关阅读:
    Android 获取自带浏览器上网记录
    android 中的 ViewPager+ Fragment
    Git分支操作
    图形验证码的识别
    mac平台搭建安卓开发环境
    [报错集合]Uncaught ReferenceError: xxx is not defined
    Centos安装Python3
    VSCode 代码格式化 快捷键
    Mac下用Parallels Desktop安装Ubuntu
    请求头headers
  • 原文地址:https://www.cnblogs.com/wang-ying/p/6245847.html
Copyright © 2011-2022 走看看