Javascript 如何在react中渲染数组的数组

Javascript 如何在react中渲染数组的数组,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,需要呈现包含对象的数组-->的数组 在JSX/HTML上,我应该为每个子数组设置一个标记,在该标记的内部呈现数组中的对象当呈现该子数组时,我应该继续下一个数组,并在新的中呈现下一个数组。我喜欢为这种场景使用/创建一个平面映射函数。我相信lodash有一个,但如果你不想把它捆绑在这么大的库中,它就足够小了: function flatMap(items, fn) { return items.reduce((result, item, i) => result.concat(fn(ite

需要呈现包含对象的数组-->的数组


在JSX/HTML上,我应该为每个子数组设置一个
  • 标记,在该标记的内部呈现数组中的对象当呈现该子数组时,我应该继续下一个数组,并在新的
  • 中呈现下一个数组。我喜欢为这种场景使用/创建一个
    平面映射
    函数。我相信
    lodash
    有一个,但如果你不想把它捆绑在这么大的库中,它就足够小了:

    function flatMap(items, fn) {
      return items.reduce((result, item, i) => result.concat(fn(item, i)), []);
    }
    
    您可以这样使用它:

    renderList = () => flatMap(searchHelpers.logicalExamples, (tagsArray) =>
      tagsArray.map((tag, i) => (
        <li className="label">
          <button>
            <span className="selected">{tag.name}</span>
          </button>
        </li>
      ))
    );
    
    renderList = () => {
       return searchHelpers.logicalExamples.map((tagsArray) =>
          <li className="label">
            // something goes here
          </li>
        );
      };
    

    因此,您希望
    LogicalSamples
    的每个元素都呈现为
  • 。看起来是这样的:

    renderList = () => flatMap(searchHelpers.logicalExamples, (tagsArray) =>
      tagsArray.map((tag, i) => (
        <li className="label">
          <button>
            <span className="selected">{tag.name}</span>
          </button>
        </li>
      ))
    );
    
    renderList = () => {
       return searchHelpers.logicalExamples.map((tagsArray) =>
          <li className="label">
            // something goes here
          </li>
        );
      };
    

    您到底想要渲染什么?您希望最终结果是什么样的?我希望每个子数组。每个子数组的内容都应该在一个
  • 的内部这是一个子数组[{name:'TX Group',tagTypeClass:'},{name:'And',tagTypeClass:'operator'},{name:'Latest News',tagTypeClass:'new tag'}]每个
  • 中应该有哪些HTML元素?嘿,回答这个问题,但仍然没有按预期渲染。子数组-所有项都呈现为新的
  • ,我希望每个对象数组都有一个
  • 包装器。这意味着我应该在每个
  • -element
  • 内部呈现一个
  • 和3个按钮
    renderList = () => {
       return searchHelpers.logicalExamples.map((tagsArray) =>
          <li className="label">
            // something goes here
          </li>
        );
      };
    
    renderList = () => {
       return searchHelpers.logicalExamples.map((tagsArray) =>
          <li className="label">
            {tagsArray.map((tag, i) => (
              <button>
                <span className="selected">{tag.name}</span>
              </button>
            }
          ))
          </li>
        );
      };