JSX语法

1.JSX语法的本质:并不是直接把jsx渲染到页面上,而是内部先转换成了createElement形式再进行渲染的

2.在jsx中混合写入js表达式:在jsx语法中,要把js代码写到{ }中

渲染数字
let a = 10;
ReactDOM.render(<div>{a}</div>,document.getElementById('app'));
渲染字符串
let str = '你好,中国';
ReactDOM.render(<div>{str}</div>,document.getElementById('app'));
渲染布尔值
let boo = true;
ReactDOM.render(<div>{boo ? '条件为真' : '条件为假'}</div>,document.getElementById('app'));
为属性绑定值
let title = '999';
ReactDOM.render(<div><p title={title}>这是一个p标签</p></div>,document.getElementById('app'));
渲染jsx元素
const h1 = <h1>哈哈哈哈哈哈哈</h1>;
ReactDOM.render(<div>{h1}</div>,document.getElementById('app'));
渲染jsx元素数组
const arr = [<h2>这是h2</h2>,<h3>这是h3</h3>];
ReactDOM.render(<div>{arr}</div>,document.getElementById('app'));

将普通字符串数组,转为jsx数组并

渲染到页面上(两种方案)

const arrStr = ['毛利兰','柯南','小五郎','灰原哀'];

//定义一个空数组,将来用来存放名称标签
const nameArr = [];
//注意:react中需要把key添加给被forEach或map循环直接控制的元素
arrStr.forEach(item => {
    const temp = <h5 key={item}>{item}</h5>;
    nameArr.push(temp);
});

ReactDOM.render(<div>{nameArr}</div>,document.getElementById('app'));
 
const arrStr = ['毛利兰','柯南','小五郎','灰原哀'];

//直接在jsx里面循环,数组map方法也是遍历数组的每一项,并生成一个新的数组返回,注意:map中必须要写return
ReactDOM.render(<div>{arrStr.map(item => {
        return <h3 key={item}>{item}</h3>
    })}</div>,document.getElementById('app'));

3.在jsx中写注释:有两种方法

//第一种注释(推荐使用):{/* */}
{/*{arr}*/}

//第二种注释:
{
     //这里是注释的内容  
}

4.为jsx中的元素添加class类名:需要使用className来代替class;htmlFor替换label的for属性

<p className="myele">!!!!!</p>
<label htmlFor="ooo">1111</label>

 

posted @ 2019-12-09 15:09  浮华夕颜  Views(1161)  Comments(0Edit  收藏  举报