<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>react 第一次课</title> <script src="node_modules/react/umd/react.development.js"></script> <script src="node_modules/react-dom/umd/react-dom.development.js"></script> <script src="node_modules/babel-standalone/babel.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> /*JSX 用于将模板转为 HTML 语言,并插入指定的 DOM 节点*/ var flag=true; var div1={ fontSize:'20px', color:'#f60' }; ReactDOM.render( <ul className="lists-ul"> <li style={div1}>{flag==true?'111':'123'}</li> <li>2222</li> <li>3333</li> </ul>, document.getElementById('example') ); /*var child1 = React.createElement('li',null,'1111'); var child2 = React.createElement('li',null,'2222'); var child3 = React.createElement('li',null,'3333'); var str = React.createElement('ul',{className:'lists-ul'},child1,child2,child3); ReactDOM.render( str, document.getElementById('example') //没有jsx的情况下使用的方法 );*/ </script> </body> </html>
<!DOCTYPE html> <html> <head> <title>react 第一次02</title> <meta charset="UTF-8" /> <script src="node_modules/react/umd/react.development.js"></script> <script src="node_modules/react-dom/umd/react-dom.development.js"></script> <script src="node_modules/babel-standalone/babel.min.js"></script> </head> <body> <div id="example"></div> <script type="text/babel"> /*JSX 用于将模板转为 HTML 语言,并插入指定的 DOM 节点*/ var arr=['aaa1','bbb1','ccc1']; /*ReactDOM.render( <div> { arr.map(function(item,index){ return <div key={index}>hello,{item}</div> }) } </div>, document.getElementById('example') );*/ var names =[]; for(var i=0;i<arr.length;i++){ names.push(<div key={i}>hello,{arr[i]}</div>); }; ReactDOM.render( <div> {names} </div>, document.getElementById('example') ); /* var names =[<div key="1">111</div>, <div key="2">222</div>, <div key="3">333</div>]; ReactDOM.render( <div> {names} </div>, document.getElementById('example') );*/ </script> </body> </html>
00::55:00
开始
react 第一次
view 负责UI组件
MVVM
双向绑定要自己来写
路由/单页面应用/
公司:Facebook
---------------------------------------
JSX
1.npm init
2.npm install react react-dom babel-standalone -S
react/react-dom/babel-standalone
react 核心库
react-dom 操作虚拟dom
babel-standalone(jsx 转js)
---------------------------------
<div id="example"></div>
var flag=true;
var div1={
fontSize:'20px',
color:'#f60'
};
ReactDOM.render(
<ul className="lists-ul">
<li style={div1}>{flag==true?'111':'123'}</li>
<li>2222</li>
<li>3333</li>
</ul>,
document.getElementById('example')
);
模板内容里面只能有一个更目录!!!
<> 当做html解析
{} 当做js解析
知识点:jsx,react 绑定样式,react 加判断。
-----------------------------------------
遍历
//map 方法
var arr=['aaa1','bbb1','ccc1'];//三段都在用
ReactDOM.render(
<div>
{
arr.map(function(item,index){
return <div key={index}>hello,{item}</div>
})
}
</div>,
document.getElementById('example')
);
---------------------
//for 方法
var arr=['aaa1','bbb1','ccc1'];//三段都在用
var names =[];
for(var i=0;i<arr.length;i++){
names.push(<div key={i}>hello,{arr[i]}</div>);
};
ReactDOM.render(
<div>
{names}
</div>,
document.getElementById('example')
);
------------------------
//直接写代码方法
var arr=['aaa1','bbb1','ccc1'];//三段都在用
var names =[<div key="1">111</div>,
<div key="2">222</div>,
<div key="3">333</div>];
ReactDOM.render(
<div>
{names}
</div>,
document.getElementById('example')
);
----------------------------------------------------------------