React入门

<a href="http://www.ruanyifeng.com/blog/2015/03/react.html">React 入门实例教程</a>
1、Browser.js 的作用是将 JSX 语法转为 JavaScript 语法,这一步很消耗时间,实际上线的时候,应该将它放到服务器完成。
组件并不是真实的 DOM 节点,而是存在于内存之中的一种数据结构,叫做虚拟 DOM (virtual DOM)。只有当它插入文档以后,才会变成真实的 DOM 。根据 React 的设计,所有的 DOM 变动,都先在虚拟 DOM 上发生,然后再将实际发生变动的部分,反映在真实 DOM上,这种算法叫做 DOM diff ,它可以极大提高网页的性能表现。

<!DOCTYPE html>
<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="example"></div>
    <script type="text/babel">
      var LikeButton = React.createClass({
        //验证props
        propTypes: {
            name: React.PropTypes.string.isRequired,
        },
        //默认初始值
        getInitialState: function() {
          return {liked: false,value: 'Hello!'};
        },
        btclick: function() {
            //ref获取真实dom
            this.refs.myTextInput.focus();
        },
        handleClick: function(event) {
          //设置默认初始值的内容,设置完后重新渲染
          this.setState({liked: !this.state.liked});
        },
        inputchange: function(event) {
            this.setState({value: event.target.value});
        },
        render: function() {
          console.log(this.props.name);//获取name属性
          var text = this.state.liked ? 'like' : 'haven\'t liked';
          var value = this.state.value;
          return (
              <div>
                <p onClick={this.handleClick}>
                  You {text} this. Click to toggle.
                </p>
                <input type="text" ref="myTextInput"  value={value} onChange={this.inputchange}/>
                <input type="button" value="Focus the text input" onClick={this.btclick} />
                <p>{value}</p>
                <ol>
                    {
                        React.Children.map(this.props.children, function (child) {
                            return <li>{child}</li>;
                        })
                    }
                </ol>
              </div>
          );
        }
      });
      ReactDOM.render(
        <LikeButton name="this.props获取">
          <span>hello</span>
          <span>world</span>
        </LikeButton>,
        document.getElementById('example')
      );
    </script>
  </body>
</html>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 作者:阮一峰原文地址:http://www.ruanyifeng.com/blog/2015/03/react.h...
    IT程序狮阅读 4,734评论 0 16
  • 现在最热门的前端框架,毫无疑问是React。在基于React的React Native发布一天之内,就获得了 50...
    Mycro阅读 4,690评论 3 6
  • 小白一枚,觉得阮一峰老师写的react入门非常简单易懂,所以就转载过来了。等到我自己后面能力变强之后,我就自己写一...
    LU7IN阅读 2,635评论 0 0
  • 欢迎访问我的博客 早期,我们开发web应用,只能是通过请求服务器,服务端响应请求,返回一个页面,,每次浏览器都得对...
    惊鸿三世阅读 3,511评论 0 2
  • 抱抱宝宝,昨天的5分钟 哈哈哈,昨天电话一打,5分钟都忘记发给宝贝了,么么么,估计宝贝也是太困咯,么么么,抱抱宝宝...
    握着荆条阅读 1,319评论 0 0

友情链接更多精彩内容