<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Learn React</title>
<script src="https://cdn.staticfile.org/react/16.4.0/umd/react.development.js"></script>
<script src="https://cdn.staticfile.org/react-dom/16.4.0/umd/react-dom.development.js"></script>
<!-- 生产环境中不建议使用 -->
<script src="https://cdn.staticfile.org/babel-standalone/6.26.0/babel.min.js"></script>
</head>
<body>
<div id="root"></div>
<script type="text/babel"> function UserGreeting(props){
return <h1>Welcome back!</h1>;
}
function GuestGreeting(props){
return <h1>Please sign up.</h1>;
}
function Greeting(props){
const isLoggedIn = props.isLoggedIn;
if(isLoggedIn){
return <UserGreeting/>;
}else{
return <GuestGreeting/>
}
} function LoginButton(props){
return(
<button onClick={props.onClick}>
Login
</button>
);
}
function LogoutButton(props){
return(
<button onClick={props.onClick}>
Logout
</button>
);
} class LoginControl extends React.Component {
constructor(props) {
super(props);
this.handleLoginClick = this.handleLoginClick.bind(this);
this.handleLogoutClick = this.handleLogoutClick.bind(this);
this.state = {isLoggedIn: false};
} handleLoginClick() {
this.setState({isLoggedIn: true});
} handleLogoutClick() {
this.setState({isLoggedIn: false});
} render() {
const isLoggedIn = this.state.isLoggedIn;
let button; if (isLoggedIn) {
button = <LogoutButton onClick={this.handleLogoutClick} />;
} else {
button = <LoginButton onClick={this.handleLoginClick} />;
} return (
<div>
<Greeting isLoggedIn={isLoggedIn} />
{button}
</div>
);
}
} ReactDOM.render(
<LoginControl />,
document.getElementById('root')
); </script>
</body>
</html>

最新文章

  1. Using View and Data API with Meteor
  2. JavaWeb学习笔记——开发动态WEB资源(七)bookapp
  3. jQuery获取Ajax函数的返回值
  4. Foreach能够循环的本质
  5. JQuery $.ajax()方法详解
  6. 将java项目打包成jar文件并在cmd运行
  7. ubuntu14.04下安装Naigos和pnp4nagios
  8. C# 内存管理优化畅想(三)---- 其他方法&amp;结语
  9. HTTP分块传输
  10. 组合数学第一发 hdu 2451 Simple Addition Expression
  11. 【GIVENCHY商务休闲风格/白色/100%精梳棉/撞色拼接领/长袖衬衣】玛萨玛索男装网购商城
  12. 菜单工具栏wxPython菜单与工具栏基础示例
  13. View如何设置16进制颜色值
  14. SQL数据库置疑修复
  15. kaggle
  16. C#净化版WebApi框架
  17. 从fastjson多层泛型嵌套解析,看jdk泛型推断
  18. Python的真和假
  19. 记录Queue插入的时候报错
  20. Oracle 12c的自增列Identity Columns

热门文章

  1. 深入浅出新一代跨平台抓包&amp;调式利器Fiddler Everywhere
  2. win8 下删除服务
  3. Python深入:setuptools进阶
  4. 循环3n加1问题
  5. 7、Spring教程之使用注解开发
  6. APK瘦身属性——android:extractNativeLibs
  7. 【LiteOS】LiteOS消息队列
  8. 力扣 - 剑指 Offer 37. 序列化二叉树
  9. js 一数组分割成若干个数组,并装换成字符串赋个li标签
  10. 实际使用Elasticdump工具对Elasticsearch集群进行数据备份和数据还原