123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- <html>
- <head>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.0.0/react-dom.js"></script>
- <script src="https://cdnjs.cloudflare.com/ajax/libs/zepto/1.1.6/zepto.min.js"></script>
- <script src="../lib/php_crud_api_transform.js"></script>
- <script>
- var PostList = React.createClass({
- displayName: 'PostList',
- url: '../api.php/posts',
- getInitialState: function() {
- return { posts: [] };
- },
- retrieveServerState: function() {
- this.serverRequest = $.get(this.url, function (data) {
- this.setState(php_crud_api_transform(data));
- }.bind(this));
- },
- componentDidMount: function() {
- $.post(this.url, {user_id:1,category_id:1,content:"from react"}, this.retrieveServerState);
- },
- componentWillUnmount: function() {
- this.serverRequest.abort();
- },
- render: function render() {
- var createPost = function(post) {
- return React.createElement(
- 'li',
- {key: post.id},
- post.id,
- ', ',
- post.content
- );
- };
- return React.createElement(
- 'ul',
- null,
- this.state.posts.map(createPost)
- );
- }
- });
- $(function(){ ReactDOM.render(React.createElement(PostList, null), document.getElementById('myApplication')); });
- </script>
- </head>
- <body>
- <div id="myApplication">Loading...</div>
- </body>
- </html>
|