<!DOCTYPE html> <html lang="zh"> <head> <meta charset="UTF-8"> <title>渲染列表</title> <script src="script/react.development.js"></script> <script src="script/react-dom.development.js"></script> <!-- 引入babel --> <script src="script/babel.min.js"></script> </head> <body> <div id="root"></div> <script type="text/babel"> const name = '孙悟空'; const lang = 'cn'; /* * {} 只能用来放js表达式,而不能放语句(if for) * 在语句中是可以去操作JSX * */ // const div = <div>Hello {name}</div>; let div; if(lang === 'en'){ div = <div>hello {name}</div>; }else if(lang === 'cn'){ div = <div>你好 {name}</div>; } 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); </script> </body> </html>