• react使用Map方法遍历列表不显示的问题


    问题:

    在最开始搭建选项卡的时候,我的js代码是这样的

    1. import React, { Component } from 'react'
    2. import './css/02-maizuo.css'
    3. export default class App extends Component {
    4. state = {
    5. list: [
    6. {
    7. id: 1,
    8. text: '电影'
    9. },
    10. {
    11. id: 2,
    12. text: '影院'
    13. }, {
    14. id: 3,
    15. text: '我的'
    16. },
    17. ],
    18. current: 0
    19. }
    20. render() {
    21. return (
    22. <div>
    23. <ul>
    24. {this.state.list.map((item, index) => {
    25. <li
    26. key={item.id}
    27. className={this.state.current === index ? 'active' : ''}
    28. onClick={() => this.handleClick(index)}
    29. >
    30. {item.text}
    31. </li>
    32. })}
    33. </ul>
    34. </div>
    35. )
    36. }
    37. handleClick(index) {
    38. console.log(index);
    39. this.setState({
    40. current: index
    41. })
    42. }
    43. }

    有问题的部分:

    终端有提示警告信息:

    解决办法

     第一反应是这里不能使用map进行遍历数组,于是换成了forEach,但是foreach方法并不返回一个新的数组,而只是对原来的数组进行遍历。如果使用forEach遍历数组,此时没有返回任何JSX元素,因此

  • 标签还是不会被渲染出来的。

    所以,还是得使用map方法,用来返回新的数组,返回的结果包含每个元素的处理结果。针对终端的警告,是因为在箭头函数中使用了大括号 {} 来包裹 JSX,但是却没有显式的返回一个值,在React当中,当使用 {}  来包裹 JSX的时候,如果想返回一个值,这个时候需要显式的使用 return 语句。而如果将箭头函数的大括号  {} 替换成小括号 () ,这个时候,就不需要显式的使用return 语句了,也就是

     


    问题不大,但是芝士又涨喽!~

  • 相关阅读:
    【图像处理】关于颜色的万花筒(RGB--HSV)
    【JUC】十、ForkJoin
    代码随想录算法训练营第五十六天 | LeetCode 647. 回文子串、516. 最长回文子序列、动态规划总结
    JDBC 实现批量插入-任意表名
    linux环境下查询主板、CPU、内存等硬件信息
    超详细Python教程——修改和增加类属性
    【Machine Learning】14.Advanced Learning 简单神经网络介绍(1)
    2020年全国职业院校技能大赛改革试点赛样卷二
    SpringBoot中使用Redis实现分布式锁
    (SpringBoot)第八章:SpringMVC程序开发
  • 原文地址:https://blog.csdn.net/www340300/article/details/136141287