我做错了什么?

它不喜欢我打Items的方式

import React, { Component } from 'react';
import { Link } from "react-router-dom";

interface LinkedItemProps {
    icon: string;
    title: string;
}

export const Items = ({icon, title}: LinkedItemProps) => {
    <div>
        <div className="nav-menu-link-icon">
            {icon}
        </div>
        <div className="nav-menu-link-label">
            {title}
        </div>
    </div>
}

export default class LinkedItems extends React.Component<any, any> {
    render() {
        return (
            <Link
                to={this.props.link}
                title={this.props.title}
                onClick={this.props.afterClick}
            >
                <Items icon={this.props.icon} title={this.props.title} /> //error
            </Link>
    )}
}

另外,谢谢你把这个问题标记为一个与我问的问题完全不同的问题的副本.

推荐答案

Items是一个带有{}的箭头函数,这意味着您必须显式地给它一个return语句:

export const Items = ({icon, title}: LinkedItemProps) => {
  return ( // <------ must return here
    <div>
      <div className="nav-menu-link-icon">
        {icon}
      </div>
      <div className="nav-menu-link-label">
        {title}
      </div>
    </div>
  )
}

如果没有,那么Items只返回undefined,这是一个空值,因此

JSX Element type 'void' is not a constructor function for JSX elements"

要获得更简洁的代码,可以将{}完全替换为():

export const Items = ({icon, title}: LinkedItemProps) => ( 
  <div>
    <div className="nav-menu-link-icon">
      {icon}
    </div>
    <div className="nav-menu-link-label">
      {title}
    </div>
  </div>
)

Reactjs相关问答推荐

react 路由导航不工作,但手动路由工作

安装后未渲染tailwind

利用OVERPASS API端点计算某建筑的表面积

从Microsoft Excel粘贴复制的单元格时,将Excel单元格格式(粗体、下划线、斜体)带入Reaction

如何在React中正确地将密码输入类型切换为文本或反之亦然(下一页)

不同步渲染

如何修复ReferenceError:在构建过程中未定义导航器

如何清除过滤器搜索的状态

错误:无法获取 RSC 负载.返回浏览器导航

从 redux 调用UPDATE_DATA操作时状态变得未定义

在Vite React上获取Amplify的环境变量

如何根据用户在react.js中的 Select , Select 多个心形图标?

如何在 React.js 中提取 PDF 的内容?

在 React 中使用复选框管理状态

在嵌套的 Stack Navigator 中的 BottomTabBar 中导航会导致比以前更多的渲染

react 页面更新

Cypress - 在继续之前等待下一个按钮重新出现

未捕获的错误:操作必须是使用 redux/toolkit 的普通对象

如何根据数据库中的值设置单选按钮选中? - react

为什么我在运行一些 npm react 命令时会收到这些警告?