12-渲染列表

Huxzhi小于 1 分钟react18

if 语句

{} 只能用来放 js 表达式,而不能放语句(if for)

  • 在语句中是可以去操作 JSX
const name = '孙悟空';
const lang = 'cn';


// const div = <div>Hello {name}</div>;

let div;

if(lang === 'en'){
    div = <div>hello {name}</div>;
}else if(lang === 'cn'){
    div = <div>你好 {name}</div>;
}

渲染列表

将arr渲染为一个列表在网页中显示 jsx中会自动将数组中的元素在页面中显示 const list = <ul>{arr}</ul>;

const data = ['孙悟空', '猪八戒', '沙和尚'];

/*
    <ul>
         <li>孙悟空</li>
         <li>猪八戒</li>
        ...
    </ul>

    [<li>孙悟空</li>, <li>猪八戒</li>, <li>沙和尚</li>]
* */

// const arr = [];

// 遍历data
// for(let i=0; i<data.length; i++){
//     arr.push(<li>{data[i]}</li>);
// }

// const arr = data.map(item => <li>{item}</li>);


// 将arr渲染为一个列表在网页中显示
// jsx中会自动将数组中的元素在页面中显示
// const list = <ul>{arr}</ul>;

const list = <ul>{data.map(item => <li>{item}</li>)}</ul>;

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(list);