标签:dal babel dom stand htm turn 符号 component span
<!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>Document</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.js"></script> </head> <body> <div id="app"> </div> <script type="text/babel"> let arr = [1,2,3,4]; // 根组件默认拿到全局变量为data的值 在子组件传值直接传值进行调用 class List3 extends React.Component{//必须是大写的首字母 constructor(props){ //构造函数传参 super(props); //调用所有原型上的属性来实现props传值 this.state = { n:0 } } inc(ind){ this.setState({ n:ind }) }; render(){ console.log(this);//符号必须是分号不能是逗号 let {data} = this.props; let {n} = this.state; return( data.map((item,index)=>{ return ( <div key={index} style={{color:n===index?‘red‘:null}} onClick={this.inc.bind(this,index)}>{item}</div> //函数不能写括号 不然会立即执行 )//由于es6的this指向问题this值拿不到(onclick绑定的是匿名函数),所有需要绑定当前的this指向当前的作用域 } ) ) } } ReactDOM.render( <div> <List3 data={arr}/> </div>, document.getElementById(‘app‘) ) </script> </body> </html>
标签:dal babel dom stand htm turn 符号 component span
原文地址:https://www.cnblogs.com/l8l8/p/9454317.html