facebook react.js
2019独角兽企业重金招聘Python工程师标准>>>
React.js这是不错。利用Javascript的OO和函数编程的特性,可以把一堆子html的标签封装成一个组件。这个有点当年Borland公司Delphi的味道。
网站上给的例子:
[1] first.html:
<!DOCTYPE html>
<html>
<head>
<script src="build/react.js"></script>
<script src="build/JSXTransformer.js"></script>
<script src="/jquery/dist/jquery.js"></script>
</head>
<body>
<div id="content"></div>
<script type="text/jsx" src="src/helloworld.js">
</script>
</body>
</html>
var Comment = React.createClass({
render: function() {
return (
<div className="comment">
<h2 className="commentAuthor">
{this.props.author}
</h2>
{this.props.children}
</div>
);
}
});
[2] helloworld.js:
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 = React.findDOMNode(this.refs.author).value.trim();
var text = React.findDOMNode(this.refs.text).value.trim();
if (!text || !author) {
return;
}
// TODO: send request to the server
React.findDOMNode(this.refs.author).value = '';
React.findDOMNode(this.refs.text).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',
cache: false,
success: function(data) {
this.setState({data: data});
}.bind(this),
error: function(xhr, status, err) {
console.error(this.props.url, status, err.toString());
}.bind(this)
});
},
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 />
</div>
);
}
});
React.render(
<CommentBox url="comments.json" pollInterval={2000} />,
document.getElementById('content')
);
[3] comments.json
[
{
"author": "Pete Hunt",
"text": "Hey there!"
},
{
"author": "Lao Wang",
"text": "Mao !"
}
,
{
"author": "Lao Li",
"text": "Li !"
}
]
转载于:https://my.oschina.net/u/612750/blog/469273
facebook react.js相关推荐
- React.js开发生态系统概览 [译-转]
React.js 开发生态系统概览 [译] JavaScript领域发展速度很快,甚至有人认为这已经引起了负效应.一个前端库从早期开发的小玩具,到流行,再到过时,可能也就几个月时间.判断一个工具能否在 ...
- 如何使用React.js和Heroku快速实现从想法到URL的转变
by Tom Schweers 由汤姆·史威士(Tom Schweers) 如何使用React.js和Heroku快速实现从想法到URL的转变 (How to go from idea to URL ...
- React.js核心原理实现:首次渲染机制
2019独角兽企业重金招聘Python工程师标准>>> 一.前言 react.js和vue.js无疑是当下最火的js框架了,它们为组件式的开发传统前端页面.SPA页面.前后端分离等带 ...
- React.js 开发常见问题
React.js 开发常见问题 我需要为 React.js 雇用专门的开发人员,还是说只要会 JavaScript 的员工就行? 如果你有了一支熟练的 JavaScript 开发团队,那么使用 Rea ...
- sublime67linter-php,Sublime Text 3 搭建 React.js 开发环境
Sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境. 支持ES6, React.js, jsx代码高亮,对 JavaScript, jQue ...
- react.JS并非完全开源,百度、Wordpress等带头弃之
屋漏偏逢连夜雨,来形容此时的facebook太恰当不过了,虽然facebook在国内被墙,但是作为一个web前端,其实我们还是在用着facebook的产品 -- react.JS ,也是目前很热门的一 ...
- 撰写本文的所有基本React.js概念
Update: This article is now part of my book "React.js Beyond The Basics". 更新:本文现在是我的书<超 ...
- Sublime Text 3 搭建 React.js 开发环境
Sublime有很强的自定义功能,插件库很庞大,针对新语言插件更新很快,配合使用可以快速搭建适配语言的开发环境. 1. babel-sublime 支持ES6, React.js, jsx代码高亮,对 ...
- react.js基础
现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了我,下面来跟我一起领 ...
最新文章
- linux防火墙添加端口并开闭防火墙
- SVN从win迁移到Linux上
- Bug整理——$(window).height()获取到$(document).height()的问题
- [MetalKit]34-Working-with-memory-in-Metal内存管理
- [linux命令技巧] mkdir -p
- 电子商务时代企业统计的发展方向
- java代码实现解压文件_Java压缩/解压文件的实现代码
- c语言around用法,KET基础语法:介词among和around的用法及例句
- 计算机重启是什么原因,电脑自动重启,该怎么办,到底是什么原因,我来详细说明?...
- 百胜软件牵手晨光文具打造电商信息化平台
- 2015-FCN论文翻译
- 怎么进入计算机网络权限设置方法,电脑怎么设置网络访问权限保护共享文件安全...
- Excel如何批量添加批注
- qq群文件问题完美解决
- 小程序跳转小程序,小程序跳转公众号,小程序跳转h5
- 详解:S锁(读锁)和X锁(写锁)
- ElasticaSearch安装以及配置
- Pycharm—— 6 函数 和 7 公共运算符
- python实现atm取款机_python ATM机 案例代码
- Android MediaCodec硬编兼容性测试方案
热门文章
- webpack+vue解决前端跨域问题
- Java爬坑 -- 解决redis序列化java8 LocalDateTime错误的问题
- 不推荐使用getResources()。getColor()[重复]
- Google Maps API v3:如何删除所有标记?
- 如何将图例排除在情节之外
- main()在C和C ++中应该返回什么?
- SQL Server:如何加入第一行
- 如何设置Win11账户密码有效期?Win11账户密码使用期限设置教程
- Win11管理员已阻止你运行此应用,有关详细信息怎么处理?
- 此 Windows 副本不是正版的解决方案