React基础篇 ,1-- render&components

render

基础用法

//1、创建虚拟DOM元素对象 
var vDom=<h1>hello wold!</h1>
//2、渲染 
ReactDOM.render(vDom,document.getElementById('box'))

react的API写法

var ele=React.createElement('h2',{id:'box1'},"设置id")
ReactDOM.render(ele,document.getElementById(('jsx1')))

加入动态数据的渲染

const ;
const name="adoctors";
const age=18;
//动态的数据加{变量}
var vDom2=<h1 id={id}>name:{name},age:{age}</h1>
ReactDOM.render(vDom2,document.getElementById(('jsx2')))

列表渲染

错误做法


const arr=["jquery","zepto","vue","angular","react","nodejs","php"]
var vDom3=<ul>
        <li>{arr}</li>
</ul>
ReactDOM.render(vDom3,document.getElementById(('list')))   
//结果
 <ul>
         <li>jqueryzeptovueangularreactnodejsphp</li>
 </ul>

正确做法:使用map方法,无key是容易警告

var vDom3=<ul>
                {arr.map((item,i)=><li key={i}>{item}</li>)}
        </ul>
ReactDOM.render(vDom3,document.getElementById(('list')))

components

组件一般分为两种:

第一种:工厂函数组件(也称:简单组件,即没有状态的组件)

//1、定义组件
function Myconponent(){
        return <h1>我是简单组件</h1>
}
//2、渲染组件标签
ReactDOM.render(<Myconponent />,document.getElementById(('com1')))

第二种:es6类组件(也称:复杂组件)

//1、定义组件
class Myconponent2 extends React.Component{
        render(){
                console.log(this)  //Myconponent2实例对象
                return <h1>我是复杂组件</h1>
        }
}
//2、渲染组件标签
ReactDOM.render(<Myconponent2 />,document.getElementById(('com2')))