我需要检查字符串数组中的字符串,看看它是否包含单词“ Heading”。如果是这样,我想以不同的方式设置元素的格式并从元素中删除单词标题。

这就是我在ASP.net Core中的C#中执行的操作。它是根据我想在反应中使用的相同数据绘制的。

 @foreach (var item in (IEnumerable)ViewData["Conditions"])
    {
        if (item.ToString().Contains("Heading"))
        {
            <div id="team" class="form-group col-xs-12 col-md-12">
                <h3> @item.ToString().Replace("Heading", "")</h3>
            </div>
        }
        else
        {
            <div class="form-group col-md-3 text-left">@item.ToString()</div>
        }
    }


在ReactJS中,我从以下内容开始。只要我不使用If语句,它就起作用。那么,如何在地图中使用JS包含和替换?

const ConditionsList = props => {
return (
<div class="row">
  {props.conditions.map((item, index) => {
    if ({ item.includes("heading") }) {
        return (
          <div class="col col-md-12">{item}</div>
        );
      }
      else
      {
        return (
          <div class="col col-md-3">
            <Card className="cardBody">
              <CardText className="conditions " Key={index}>
                {item}
              </CardText>
            </Card>
          </div>
        );
    };
        })}
</div>
);
};


它不喜欢{item.includes(“ heading”)},我怀疑它也不喜欢我尝试替换。

最佳答案

您不能在JSX中使用if else,可以使用三元

const ConditionsList = props => {
return (
<div class="row">
  {props.conditions.map((item, index) => {
    return  item.includes("heading") ?  <div class="col col-md-12">{item}</div>
                                     : <div class="col col-md-3">
            <Card className="cardBody">
              <CardText className="conditions " Key={index}>
                {item}
              </CardText>
            </Card>
          </div>
     };
  </div>
 );
};


If else in JSX

关于javascript - 如何在Reactjs的 map 中使用JS包含和替换?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58333288/

10-11 08:15
查看更多