ES6——面向对象应用
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</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>
<script type="text/babel">
// ...
</script>
</head>
<body>
<!-- ... -->
</body>
</html>
window.onload = function (){
let oDiv = document.getElementById('div1');
ReactDOM.render( //JSX
<span>124</span>,
oDiv
);
};
class Test extends React.Component{
constructor(...args) {
super(...args);
}
render(){
return <span>span123</span>;
}
}
window.onload = function (){
let oDiv = document.getElementById('div1');
//JSX
ReactDOM.render(
<Test></Test>,
oDiv
);
};
2)组件渲染2 —— {表达式}
class Item extends React.Component{
constructor(...args) {
super(...args);
}
render(){
return <li>{this.props.str}</li>;
// 在 JSX 当中你可以插入 JavaScript 的表达式,表达式返回的结果会相应地渲染到页面上。表达式用 {} 包裹。
}
}
window.onload = function (){
let oDiv = document.getElementById('div1');
//JSX
ReactDOM.render(
<ul>
<Item str='111'></Item>
<Item str='111'></Item>
<Item str='111'></Item>
</ul>,
oDiv);
};
3)组件渲染3 —— 组件套组件
class Item extends React.Component{
constructor(...args) {
super(...args);
}
render(){
return <li>{this.props.str}</li>;
}
}
class List extends React.Component{
constructor(...args){
super(...args);
}
render(){
return <ul>
<Item str='111'></Item>
<Item str='111'></Item>
</ul>;
}
} window.onload = function (){
let oDiv = document.getElementById('div1');
//JSX
ReactDOM.render(
<List></List>,
oDiv);
};
4)组件渲染4 —— React传参
class Item extends React.Component{
constructor(...args) {
super(...args);
}
render(){
return <li>{this.props.str}</li>;
}
}
class List extends React.Component{
constructor(...args){
super(...args);
}
render(){
alert(this.props.arr[0]);
return <ul>
<Item str='111'></Item>
<Item str='111'></Item>
</ul>;
}
}
window.onload = function (){
let oDiv = document.getElementById('div1');
//JSX
ReactDOM.render(
// <List arr="['bbb','ppp','ddd']"></List> // 输出:[
<List arr={['bbb','ppp','ddd']}></List>, // 输出:bbb
oDiv
);
};
注意:
React 有两种传参方式 分别是字符串和表达式 其中 只有表达式才可以输出字符串以外的东西,比如,数组...
5)组件渲染4 —— React传参3(映射)
class Item extends React.Component{
constructor(...args) {
super(...args);
}
render(){
return <li>{this.props.str}</li>;
}
}
class List extends React.Component{
constructor(...args){
super(...args);
}
// 还是报错了!
render(){ let aItems = this.props.arr.map(a=><Item str={a}></Item>);
return <ul>
{aItems}
</ul>;
// return <ul>
// {this.props.arr.map(a=><Item str={a}></Item>)}
// </ul>;
}
}
window.onload = function (){
let oDiv = document.getElementById('div1');
//JSX
ReactDOM.render(
<List arr={['bbb','ppp','ddd','fas']}></List>,
oDiv);
};
ES6——面向对象应用的更多相关文章
- ES6面向对象 动态添加标签页
HTML <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml&quo ...
- JS - ES5与ES6面向对象编程
1.面向对象 1.1 两大编程思想 1.2 面向过程编程 POP(Process-oriented programming) 1.3 面向对象编程 OOP (Object Oriented Progr ...
- ES6 面向对象笔记
JS面向对象两大编程思想 面向过程 面向对象 面向过程编程POP 面向过程就是分析出问题的需要步骤,然后用函数一步一步的实现,使用的时候一个一个调用就可以了 面向对象编程OOP ...
- ES6面向对象实现tab栏切换效果
面向对象实现tab栏切换效果
- ES6——面向对象-基础
面向对象原来写法 类和构造函数一样 属性和方法分开写的 // 老版本 function User(name, pass) { this.name = name this.pass = pass } U ...
- es6面向对象
<script> class user{ constructor(name,age){ this.name=name; this.age=age; } showName(){ alert( ...
- es6 面向对象选项卡(自动轮播功能)
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- 粗看ES6之面向对象写法
标签: es6 在es6以前,js没有类的概念,虽然有构造函数原型的方式用来做面向对向开发,但是对于书法并不是十分友好,而且对于继承实现也不是十分友好. es6引入class constructor ...
- ES6新增语法(四)——面向对象
ES6中json的2个变化 简写:名字和值相同时,json可以可以简写 let a=12,b=5; let json = { a, b } console.log(json) // { a:12 , ...
随机推荐
- RabbitMQ幂等性概念(七)
幂等性是什么? 我们可以借鉴数据库的乐观锁机制 比如我们执行一条更新库存的sql语句update user set count=count-1,version=version+1 where vers ...
- 在阿里云虚拟主机上部署Laravel
拿laravel5.1来说: 在根目录下创建一个local文件夹,把网站根目录下除了public文件夹以外所有文件及文件夹剪切到local文件夹中 然后把public文件夹下的所有文件剪切到网站根目录 ...
- iOS环境搭建
Xcode安装 一定要在App Store上下载XCode . git config常用配置 设置lg命令 查看分支图 git config --global alias.lg "log - ...
- edusoho 支持同一账号多人同时登录
文件: ./src/Topxia/WebBundle/Listener/UserLoginTokenListener.php 函数: public function onGetUserLoginLis ...
- Android传感器系统架构【转】
本文转载自:http://blog.csdn.net/qianjin0703/article/details/5942579 版权声明:本文为博主原创文章,未经博主允许不得转载. 1. 体系结构 2. ...
- 源码搭建mysql5.7.20
转载过来的文章,只是借用原文样式与框架,根据自己实验环境进行全面改动,仅供参考! 使用yum安装的MySQL一般版本比较旧,但是运行稳定.如果想要尝试最新的功能或者需要指定特殊的功能的话,就需要手工进 ...
- GMM demo
# GMM model # // library(mvtnorm) ) n1 = n2 = mu1 = c(,) mu2 = c(-,-) sigma1 = matrix(c(,.,.,),nrow= ...
- SQL数据库字段添加说明文字
1.查看指定表中的所有带说明文字的字段内容 SELECT *,OBJECT_NAME(major_id) AS obj_name FROM sys.extended_properties WHERE ...
- MVC2: 路由 及 遇到问题记录
MVC 路由 重定向 问题记录 1)MVC 路由 入口方法: (Global.asax)Application_Start()--->(App_Start/RouteConfig.cs)Regi ...
- JS 弹出网页 (不显示地址栏,工具栏) 网页去掉地址栏
JS 弹出网页 (不显示地址栏,工具栏) 网页去掉地址栏 window.open()支持环境: JavaScript1.0+/JScript1.0+/Nav2+/IE3+/Opera3+ 基本语法: ...