【问题标题】:Getting an error when add i++ react js es6 jsx添加 i++ react js es6 jsx 时出错
【发布时间】:2017-08-30 13:07:21
【问题描述】:

向代码添加额外的行时出现错误 (i++),我想知道应该在哪里添加代码。

let i = 1;
this.props.client_name.split(",").map((entry0) => (
    this.props.campaign_name.split(",").map((entry1) => (
        this.props.adset_name.split(",").map((entry2) => (
            ( item.client_name.toLowerCase().indexOf(entry0.toLowerCase()) !== -1  && item.campaign_name.toLowerCase().indexOf(entry1.toLowerCase()) !== -1  && item.adsets_name.toLowerCase().indexOf(entry2.toLowerCase()) !== -1    )?
                **i++**
                (<Task key={item._id} id={item.adsets_id} i={key} item={item} date_from={this.state.date_from} date_to={this.state.date_to} campaign_name={this.state.campaign_name} adset_name={this.state.adset_name} />)
            :
                (null)
        ))

    ))
))

谢谢

【问题讨论】:

  • 问题是i++ 前后有几个星号... 开玩笑的,请不要在代码sn-ps 中使用markdown 格式,它们不起作用。如果你想标记一个特殊的行,那就用 cmets 代替。
  • 哦,如果您遇到错误,请告诉我们您遇到的错误。复制它(作为文本)并将其粘贴到问题正文中。
  • 别忘了 JavaScript 支持像 if 这样有用的东西,所以你不必求助于多行条件运算符!
  • 另外,您可能只使用map(usefulVariableName, index),其中index 将为您提供当前项目的索引。

标签: reactjs ecmascript-6 jsx


【解决方案1】:

因为你在这里使用了两个表达式:

condition? i++ (<Task ..../>) : null;

将它们包裹在()中,这样写:

condition? (i++, <Task ..../>) : null;

首先它会增加 i 的值,然后返回 Task 组件。

查看MDN Doc 了解有关三元运算符的更多详细信息。

检查这个sn-p:

var a = 1;
var b = true? (a++, a): 0;

console.log('b', b);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-11
    • 2017-01-03
    • 2015-12-23
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多