关于javascript:react-报错解决-Rendered-more-hooks-than-during-the-previous-render

const RenderItem = (item) => {
  const { children } = item;
  const [showChild, setShowChild] = useState(false);
  return (
    <>
      <div>Item!!!</div>
      {showChild && children.length > 0 && (
        <>
          // 应用一般函数会报错
          {children.map((ele) => (
            <>{RenderItem(ele)}</>
          ))}
        </>
      )}
    </>
  );
};

下面的代码会报错:Rendered more hooks than during the previous render.

将调用本身那行改成这种就好了:

{children.map(ele => <RenderItem item={ele} />}

依照标准,RenderItem,R要大写

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理