首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尽管事件触发,但未呈现React组件

尽管事件触发,但未呈现React组件
EN

Stack Overflow用户
提问于 2021-09-18 17:53:52
回答 1查看 102关注 0票数 0

我正在用react、next.js和创建一个博客。我已经到了动态加载博客文章和其他UI的程度,但是现在当我尝试动态加载评论时,它是行不通的。

所讨论的组件是这个。

代码语言:javascript
复制
const Comments = ({ id }) => {
  const [com, setCom] = useState([]);

  useEffect(() => {
    const getComments = async () => {
      const comment = await fetchPost(id);

      if (comment["comments"].length == 0) return;

      const comments = [...comment["comments"]];

      setCom([...comment["comments"]]);
    };

    getComments();
  }, []);

  return (
    <div>
      {com.map((p) => {
        console.log(p.comment);
        <Comment key={p.id} comment={p.comment} />;
      })}
    </div>
  );
};

我知道组件正在被调用,当我将其记录到地图中的控制台时,它就有了这些信息。我无法理解的是为什么它没有渲染,因为它是我如何渲染博客帖子的一个近乎碳拷贝。

除上述各点外,我还尝试了以下几点:

<Post/>

  • 检查了运行<Comment/>的语法

  • ,该语法中和没有键

  • 直接在组件com.map中插入字符串,而p.comment ==没有将

  • 提升状态和useEffect呈现为
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-09-18 17:57:04

您的函数没有返回任何内容,所以function没有什么可渲染的。

代码语言:javascript
复制
{com.map((p) => (
  <Comment key={p.id} comment={p.comment} />;
))}

下面的代码不返回任何内容

代码语言:javascript
复制
() => { const value = 1; }

以下代码返回1

代码语言:javascript
复制
() => { const value = 1; return value;}

以下代码返回1

代码语言:javascript
复制
() => 1
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69237141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档