import React, { Component } from 'react'; import girl from '../assets/images/1.jpg' //这个是全局的不要this.state.girl 直接{girl}调用 // import common from '../assets/css/common.css'//css错误的引入方式 import '../assets/css/common.css' //css正确的引入方式 /* react绑定属性注意: class要换成className for要换成 htmlFor style: <div style={{"color":'red'}}>我是一个红的的 div 行内样式</div> 其他的属性和以前写法是一样的 图片的引入比较怪异,自己看吧 img标签必须要有alt 属性 不然要报警告; */ class Nba extends Component { constructor(props){ super(props) //固定写法,必须this之前,不然报错========= /*用于父子组件传值 固定写法*/就算没有父子传值也可以这么写 // react定义数据 this.state={ name:'韦德韦大爷', yangshi:{ color:'rebeccapurple' }, title:'我是title詹姆斯', img:'../assets/images/1.png', arrList:[ { title:'我是1' }, { title:'我是2' } ], list:['1111','2222','3333'] } } // 这就是jsx的写法或者叫语法吧 最简单的那种 render() { let turnList=this.state.list.map((val,index)=>{ return ( <li key={index}>{val}</li> ) }) return ( <div id='nba'> <h1>react组件里面所有节点都要被根节点包围,跟vue一样</h1> <p className='god'>NBA球星大集合组件</p> <p>{this.state.name}</p> <p className='red'>我是红色的</p> <p style={{'color':'green'}}>我是红色的01</p> {/* //行内样式的话就是双括号了 */} {/* 行内样式也可以这么写 */} <p style={this.state.yangshi}>我是红色的02</p> <p title={this.state.title}>我是title,不信你看啊</p> {/* //绑定属性也是这么绑定的 */} {/* 引入本地图片的两种方法,第一宗方法//这个是全局的不要this.state.girl 直接{girl}调用 */} <img src={girl} alt='图片0000'/> {/* 引入本地图片的两种方法,第2宗方法,用es5的require*/} <img src={require('../assets/images/2.jpg')} alt='图片0000'/> {/* 引入百度logo,远程图片的引入又不一样了 */} <img alt='百度logo' src='https://www.baidu.com/img/bd_logo1.png?where=super'/> {/* 循环数组的方式之一 用foreach不行只能用map,记得return加括号 */} <ul> {this.state.arrList.map((val,index)=>{ return ( <li key={index}>{val.title}</li> ) })} </ul> {/* 循环数组的方式之2 先定义一个全局的变量接受数组map之后的东西,在return之下,render之前 */} <ul> {turnList} </ul> </div> ); } } export default Nba
先来说绑定属性吧
react绑定属性注意: class要换成className for要换成 htmlFor style: <div style={{"color":'red'}}>我是一个红的的 div 行内样式</div> 其他的属性和以前写法是一样的
<p className='red'>我是红色的</p>
<p style={{'color':'green'}}>我是红色的01</p>
{/* //行内样式的话就是双括号了 */}
{/* 行内样式也可以这么写 */}
<p style={this.state.yangshi}>我是红色的02</p>
vue的话跟平时写样式没啥多大区别,图片也没多大区别
react图片就不一样了;
图片的引入比较怪异,自己看吧
img标签必须要有alt 属性 不然要报警告;
第一种方法的话,
推荐第一种吧,es5都要out了;引入css 就直接引入 哈哈
在开说一下数组的循环吧
vue 跟react完全不一样啊
list:[{name:'詹姆斯'},{name:'韦德'},{name:'安东尼'}],
vue写法:
<p v-for="(item,index) in list">
<span :key="index">{{item.name}}</span>
</p>
react两种写法:
@1
react中的循环的时候,return的时候一定也是只有一个父节点,包围起来一样的
react中都要先转换数组在写到页面里,或者直接在JSX里面的页面直接写js代码,vue 绑定key 和react绑定key 不一样哟
<span :key="index">{{item.name}}</span>,
<li key={index}>{val.title}</li>
区别自己看吧