For循环不返回任何内容 React JS

所以,我有一个组件必须从0循环到 输入值

  if (props.number !== "" && props.toPow !== "") {
    for (let i; i < props.toPow; i++) {
      return (
        <div>
          <span>
            {props.number} ^ {i} = {Math.pow(props.number, i)}
          </span>
        </div>
      );
    }
  } else {
    return <h3>Fill in all fields</h3>;
  }

但React说

错误: Component(…)。没有从render中返回任何内容。这通常意味着缺少一个返回语句。或者,如果要渲染什么都没有,就返回null。

解决方案:

类似于这样的东西就可以了

if (props.number !== "" && props.toPow !== "") {
    let powers =  Array.from({length:props.toPow}, (_, i) => (
        <span>
            {props.number} ^ {i} = {Math.pow(props.number, i)}
        </span>
    ));
    return <div>{powers}</div>;
} else {
    return <h3>Fill in all fields</h3>;
}

这将产生

<div>
    <span> .... </span>
    <span> .... </span>
    <span> .... </span>
</div>

如果您需要

<div>
    <span> .... </span>
</div>
<div>
    <span> .... </span>
</div>
<div>
    <span> .... </span>
</div>

那么你可以这样做

if (props.number !== "" && props.toPow !== "") {
    let powers =  Array.from({length:props.toPow}, (_, i) => (
        </div>
            <span>
                {props.number} ^ {i} = {Math.pow(props.number, i)}
            </span>
        </div>
    ));
    return <>{powers}</>;
} else {
    return <h3>Fill in all fields</h3>;
}

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在Unity中正确使用fingerId?

2022-9-19 8:37:37

未分类

按月差额计算的小组总数

2022-9-19 8:37:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索