zoukankan      html  css  js  c++  java
  • React入门1

    React教程

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8">
        <title></title>
    </head>
    <body>
        <div id="content"></div>
        <script src="http://static01.baomihua.com/js/core/jquery-1.8.3.min.js"></script>
        <script src="react.js"></script>
        <script src="JSXTransformer.js"></script>
        <script type="text/jsx">
            var Comment = React.createClass({
                render: function() {
                    return (
                        <div className="comment">
                            <h2 className="commentAuthor">
                                {this.props.author}
                            </h2>
                            {this.props.children}
                        </div>
                    )
                }
            })
    
            var CommentList = React.createClass({
                render: function() {
                    var commentNodes = this.props.data.map(function(comment) {
                        return (
                            <Comment author={comment.author}>
                                {comment.text}
                            </Comment>
                        )
                    })
                    return (
                        <div className="commentList">
                            {commentNodes}
                        </div>
                    )
                }
            })
    
            var CommentForm = React.createClass({
                handleSubmit: function(e) {
                    e.preventDefault()
                    var author = this.refs.author.getDOMNode().value.trim()
                    var text = this.refs.text.getDOMNode().value.trim()
                    if (!text || !author) {
                        return
                    }
    
                    this.props.onCommentSubmit({author: author, text: text})
    
                    this.refs.author.getDOMNode().value = ''
                    this.refs.text.getDOMNode().value = ''
                    return
                },
                render: function() {
                    return (
                        <form className="commentForm" onSubmit={this.handleSubmit}>
                        <input type="text" placeholder="Your name" ref="author" />
                        <input type="text" placeholder="Say something..." ref="text" />
                        <input type="submit" value="Post" />
                        </form>
                    )
                }
            })
    
            var CommentBox = React.createClass({
                loadCommentsFromServer: function() {
                    $.ajax({
                        url: this.props.url,
                        dataType: 'json',
                        success: function(data) {
                            this.setState({data: data})
                        }.bind(this),
                        error: function(xhr, status, err) {
                            console.error(this.props.url, status, err.toString())
                        }.bind(this)
                    })
                },
                handleCommentSubmit: function(comment) {
                    var comments = this.statet.data
                    var newComments = comments.concat(comment)
                    this.setState({data: newComments})
    
                    // ajax
                },
                getInitialState: function() {
                    return {data: []}
                },
                componentDidMount: function() {
                    this.loadCommentsFromServer()
                    //setInterval(this.loadCommentsFromServer, this.props.pollInterval)
                },
                render: function() {
                    return (
                        <div className="commentBox">
                            <h1>Comments</h1>
                            <CommentList data={this.state.data} />
                            <CommentForm  onCommentSubmit={this.handleCommentSubmit} />
                        </div>
                    )
                }
            })
    
            React.render(
                <CommentBox url="comments.json" pollInterval={2000} />,
                document.getElementById('content')
            )
        </script>
    </body>
    </html>
  • 相关阅读:
    vb 动态添加 timer
    sruts2 国际化 规范
    vb 创建xml
    robots
    android 桌面斗地主
    QT 平台
    云软件 Eucalyptus云
    android intentfilter
    android 布局相关
    Zend Studio PHP
  • 原文地址:https://www.cnblogs.com/jzm17173/p/4861679.html
Copyright © 2011-2022 走看看