15.列表渲染.html 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Document</title>
  7. <script src="./babel.min.js"></script>
  8. <script src="./react.development.js"></script>
  9. <script src="./react-dom.development.js"></script>
  10. </head>
  11. <body>
  12. <div id="root"></div>
  13. <script type="text/babel">
  14. const root = ReactDOM.createRoot(document.getElementById("root"));
  15. function App() {
  16. return (
  17. <div>
  18. <List/>
  19. </div>
  20. )
  21. }
  22. class List extends React.Component {
  23. constructor() {
  24. super();
  25. this.state = {
  26. list: ['孙悟空','猪八戒','唐僧','沙和尚','白龙马']
  27. }
  28. }
  29. render() {
  30. // render 可处理所有的js逻辑
  31. let {list} = this.state;
  32. let aa = list.map((ele,index) => <li key={index}>{ele}</li> )
  33. // return 中只返回 渲染到页面上的内容
  34. return (
  35. <div>
  36. <ul>
  37. {/*自动解析
  38. <li>{list}</li>
  39. */}
  40. {
  41. /*
  42. <li>{{aaa:"aaaa"}}</li> 报错
  43. */
  44. }
  45. {/*如何渲染数组:for/for in/for of/forEach/map/while/do..while */}
  46. {aa}
  47. </ul>
  48. </div>
  49. )
  50. }
  51. }
  52. root.render(<App/>)
  53. </script>
  54. </body>
  55. </html>