【问题标题】:React Nested Loops and KeysReact 嵌套循环和键
【发布时间】:2020-10-08 06:47:20
【问题描述】:

我正在尝试让一些反应代码工作,并且正在努力处理条件渲染。以下:

      <div id="table_holder" className="table-responsive mx-3">
        <table className="table-sm">
          {Tables.map((tableRows, index) => (
            <thead key={'headeer'+index.toString()}><tr key={index.toString()}>
            {tableRows.map((tableRow, i) => (
              <th key={i.toString()}>
                {i}
              </th>
            ))}
            </tr></thead>
          ))}
        </table>
      </div>
      );

有效,但我想根据对象 tableRow 中键“type”的值有条件地显示不同的表格单元格。而且似乎无法管理正确的语法

谢谢

【问题讨论】:

    标签: reactjs loops conditional-rendering


    【解决方案1】:

    您的第一个循环没有为 div 分配唯一键。这可能是问题所在。试着给这样的钥匙。

    &lt;key={index}&gt;

     <table className="table-sm">
              {Tables.map((tableRows, index) => (
                <key={index}>
                {tableRows.map((tableRow, i) => (
                  <th key={i+index.toString()}>
                    {i}
                  </th>
                ))}
                </>
              ))}
            </table>
    

    更新 2

    这就是你可以在 react 中使用条件渲染的方式。

      var tableRow = [1, 2, 4, 6, 7];
      return (
        <div className="App">
          <h1>Your React App</h1>
          {tableRow.map((table, index) => {
            if (table % 2) {
              return <div key={index}>{table}</div>;
            }
          })}
        </div>
      );
    

    【讨论】:

    • 谢谢,虽然我认为 > 是一个 React 片段,因此不需要密钥,但我想通了。您知道如何在 tableRows.map 循环中添加条件吗?感谢回复
    • 当然,请检查答案中的编辑。这是一个不好的例子,但如果有效:D
    • 效果很好。谢谢。我试图使用{ table % 2}。老实说,我不确定何时使用 React 嵌入式 JS 以及何时仅使用 JS。但是感谢这确实有帮助
    猜你喜欢
    • 2020-06-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-04
    • 1970-01-01
    • 1970-01-01
    • 2023-02-10
    • 1970-01-01
    • 2013-09-22
    相关资源
    最近更新 更多