list.map 未显示在 React 组件中

2024-01-06

我试图在视图中获取此列表,但这不会显示任何项目

render: function() {
    var list = this.state.list;
    console.log('Re-rendered');
    return(
        <ul>
        {list.map(function(object, i){
            <li key='{i}'>{object}</li>
        })}
        </ul>
    )
}

list首先设置为 null,但随后我使用 AJAX 重新加载它。另一方面,这有效

    <ul>
    {list.map(setting => (
        <li>{setting}</li>
    ))}
    </ul>

这是我的整个组件:

var Setting = React.createClass({
   getInitialState: function(){
     return {
       'list': []
     }
   },
   getData: function(){
     var that = this;
     var myHeaders = new Headers();
     var myInit = { method: 'GET',
           headers: myHeaders,
           mode: 'cors',
           cache: 'default' };
    fetch('/list/',myInit)
        .then(function(response){
            var contentType = response.headers.get("content-type");
            if(contentType && contentType.indexOf("application/json") !== -1) {
            return response.json().then(function(json) {
                that.setState({'list':json.settings});
            });
            } else {
            console.log("Oops, we haven't got JSON!");
            }

        })
        .catch(function(error) {
            console.log('There has been a problem with your fetch operation: ' + error.message);
        });;    
   },
   componentWillMount: function(){
    this.getData();
   },
   render: function() {
    var list = this.state.list;
    return(
        <ul>
        {list.map(function(object, i){
            <li key={i}>{object}</li>
        })}
        </ul>
    )
  }
});

您缺少退货单

 {list.map(function(object, i){
   return <li key={i}>{object}</li>
 })}

这有效

  <ul>
    {list.map(setting => (
        <li>{setting}</li>
    ))}
   </ul>

因为里面的任何东西()使用箭头函数时会自动返回,但前面的示例使用的是{}这需要一个 return 语句。

我什么时候应该在 es6 箭头函数中使用 `return`? https://stackoverflow.com/questions/28889450/when-should-i-use-return-in-es6-arrow-functions这将为您提供有关何时以及何时不使用带有箭头函数的 return 语句的更多背景信息。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

list.map 未显示在 React 组件中 的相关文章

随机推荐

  • 在合金模型中使用布尔值的最佳实践

    我正在构建一个简单的 Alloy 来生成简单的 Java Pojo 对象 并且该 pojo 的某些字段是布尔值 我现在使用以下机制来实现这个功能 one sig item autoPay String Price Int fact bool
  • Visual Studio 调试模式下显示奇怪的内存内容

    我正在编写一些多线程C 程序 我尝试修改函数体开头的几条指令 以将执行重定向到其他地方 但我注意到 在 Visual Studio 2015 中调试时 某些内存位置似乎是不可更改的 如Memory window 例如 下图中有一个函数ApS
  • 窗口关闭时销毁会话?

    我在 php 中创建了一个具有注销功能等的登录系统 但是我需要在窗口关闭时销毁会话 这需要 即时 或尽快将用户状态更改为离线 我真的不想在会话上设置时间 因为这对于必须一直登录的用户来说很烦人 欢迎任何建议 谢谢 默认情况下 当浏览器关闭时
  • 基于数组的双端队列实现

    我正在关注一个在线示例并学习 使用数组在 Java 中实现循环双端队列 这是我正在关注的在线资源 循环队列实现 http oppansource com queue implementation in java using circular
  • 如何管理 R 包中的数据库连接

    我正在构建一个 R 包 其主要目的是消除处理专有数据库的痛苦 该数据库需要一些相当复杂的 SQL 查询才能获取数据 因此 与 Microsoft SQL Server 的连接 通过以下方式获得 odbcDriverConnect 是这个包的
  • mkdir():Laravel 权限被拒绝

    我正在服务器中运行以下脚本来上传图像 并在本地主机上完美运行时收到以下错误 Code user id Auth id logicpath userdp user id pubpath userdp user id dpFile path u
  • 如何使用框架创建有效的 HTML5?

    对于学校 我必须制作一个网站must使用框架 我向老师投诉没有成功 我想使用 HTML5 但似乎框架已被弃用 我是否需要使用 XHTML HTML 4 或者是否有一些解决方法可以使我的页面通过使用框架而成为有效的 HTML5 我知道你的课已
  • 如何对套件中的所有测试用例应用 JUnit @Rule

    我正在使用 JUnit 4 10 来运行测试套件 并且按照 Matthew Farwell 在如何立即重新运行失败的 JUnit 测试 https stackoverflow com questions 8295100 how to re
  • 一个方法如何知道它是否在 UI 线程上运行?

    我有一个简单的问题 但我大约 80 确定问题的答案会伴随着 你做错了 所以我也会问这个不简单的问题 简单的问题 我有一个公共类的公共方法 我希望它在 UI 线程上调用时抛出异常 我怎样才能做到这一点 不太简单的问题是 是否有更简单的方法来重
  • 优雅地检查给定日期是否是昨天

    假设您有一个 Unix 时间戳 那么有什么简单和 或优雅的方法来检查该时间戳是否是昨天的某个时间 我主要寻找 Javascript PHP 或 C 的解决方案 但也欢迎伪代码和语言无关的解决方案 如果有 在 C 中你可以使用这个 bool
  • Heroku 通过 HTTPS 推送

    我正在努力表演 git push heroku master 但我正在使用的电脑有一些端口被阻止 所以我不能push via email protected cdn cgi l email protection projectname gi
  • 如何显示其他域中的图像/Chrome打包应用程序

    我有一个 JSON 它返回图像 URL 列表 以访问已放置在此域白名单 manifest json 中的字段中的 JSON 但是当我尝试查看图片时 它抱怨无法访问图像 1 如何Perm可以显示包App内没有的图片 2 如何下载图片到下载AP
  • Angular 7 SyntaxError:预期表达式,当 basehref 从根更改时,在生产中得到 '<

    每当我通过 ng 将 basehref 更改为 v2 或 以外的任何其他值 时build prod base href v2 我收到以下错误 Angular 7 语法错误 预期表达式 得到 这是一种矫枉过正 ng build aot pro
  • 将多维数组转换为单数组[重复]

    这个问题在这里已经有答案了 我有一个无缘无故多维的数组 This is how my array is currently Array 0 gt Array 0 gt Array plan gt basic 1 gt Array plan
  • TS 错误:类型“string”不是数组类型或字符串类型。字符串怎么不是字符串呢?

    TS 抛出奇怪的错误 错误 125 18 TS2569 类型 字符串 不是数组类型或字符串类型 使用编译器选项 downlevelIteration 允许迭代器进行迭代 字符串怎么就不是字符串了呢 我想看看 TS 如何编译字符串的扩展运算符
  • OpenCV VideoWriter 产生“找不到起始编号”错误

    我正在尝试在 Windows 10 上使用 FFV1 编解码器和 opencv ImageWriter 编写 16 位灰度视频 这是我的代码 import numpy as np import cv2 pdb print cv2 getBu
  • GCC 的 -Wpsabi 选项到底有什么作用?压制它会产生什么影响?

    背景 In the last year I was using the nlohmann json library 1 and was cross compiling on x86 64 using GCC 5 x arm linux gn
  • Oracle 字符串字段空值检查

    在下面的示例中 为什么除了 NAME1 之外 在 Oracle 11g 中 所有结果都给出 null 如果我明确提到空间 则它需要空间 否则仅 null 而不是空字符串 请帮助我澄清这一点 在 NAME2 中 我指定了空白空间 但它仍然给出
  • 关于Python3.4.1客户端连接redis时的char b前缀

    我遇到了麻烦 我的代码如下 但我不知道为什么在输出字符串 Hello Python 之前有一个字符 b gt gt gt import redis gt gt gt redisClient redis StrictRedis host 19
  • list.map 未显示在 React 组件中

    我试图在视图中获取此列表 但这不会显示任何项目 render function var list this state list console log Re rendered return ul list map function obj