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要大写