Reactjs 错误:项目(…):渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null

Reactjs 错误:项目(…):渲染未返回任何内容。这通常意味着缺少返回语句。或者,要不呈现任何内容,请返回null,reactjs,firebase,Reactjs,Firebase,我面临着这个问题,不知道如何解决。我正在遵循一个教程,我检查了好几次代码,但我无法解决它。 如果有人能帮忙,谢谢 import React, { useState } from "react"; import { useSelectedProjectValue, useProjectsValue } from "../context"; export const Projects = ({ activeValue = null }) => { const [active, setA

我面临着这个问题,不知道如何解决。我正在遵循一个教程,我检查了好几次代码,但我无法解决它。 如果有人能帮忙,谢谢

import React, { useState } from "react";

import { useSelectedProjectValue, useProjectsValue } from "../context";

export const Projects = ({ activeValue = null }) => {
  const [active, setActive] = useState(activeValue);
  const { setSelectedProject } = useSelectedProjectValue();
  const { projects } = useProjectsValue();


  return (
    projects &&
    projects.map(project => (
      <li
        key={project.projectId}
        data-doc-id={project.docId}
        data-testid="project-action"
        className={
          active === project.projectId
            ? "active sidebar__project"
            : "sidebar__project"
        }
        onKeyDown={() => {
          setActive(project.projectId);
          setSelectedProject(project.projectId);
        }}
        onClick={() => {
          setActive(project.projectId);
          setSelectedProject(project.projectId);
        }}
      >
        {("Project", JSON.stringify(project))}
      </li>
    ))
  );
};
`´`

import React,{useState}来自“React”;
从“./上下文”导入{useSelectedProjectValue,useProjectsValue};
导出常量项目=({activeValue=null})=>{
const[active,setActive]=使用状态(activeValue);
const{setSelectedProject}=useSelectedProjectValue();
const{projects}=useProjectsValue();
返回(
计划&&
projects.map(project=>(
  • { setActive(project.projectd); 设置所选项目(project.projectd); }} onClick={()=>{ setActive(project.projectd); 设置所选项目(project.projectd); }} > {(“项目”,JSON.stringify(项目))}
  • )) ); }; `´`
    我猜您没有返回任何内容,因为没有项目。如果没有项目,您可以通过告诉组件返回什么来解决这个问题。例如,表示“无项目”的字符串

    return (
    projects ?
    projects.map(project => (
          <li
            key={project.projectId}
            data-doc-id={project.docId}
            data-testid="project-action"
            className={
              active === project.projectId
                ? "active sidebar__project"
                : "sidebar__project"
            }
            onKeyDown={() => {
              setActive(project.projectId);
              setSelectedProject(project.projectId);
            }}
            onClick={() => {
              setActive(project.projectId);
              setSelectedProject(project.projectId);
            }}
          >
            {("Project", JSON.stringify(project))}
          </li>
        ) 
    :  <li key='empty'> No Projects</li>
    )
    
    返回(
    项目?
    projects.map(project=>(
    
  • { setActive(project.projectd); 设置所选项目(project.projectd); }} onClick={()=>{ setActive(project.projectd); 设置所选项目(project.projectd); }} > {(“项目”,JSON.stringify(项目))}
  • ) :
  • 没有项目
  • )
    如果控制台记录“projects”的值会发生什么?感谢Josh的关注。我发现了这个问题,在另一个组件中,我用语法输入了一个值:我是这样输入的:value={(projects,setProjects)}正确的是:value={{projects,setProjects}