You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Redux DropdownMenu无法在导航栏正常显示问题求助

问题解决:Radix UI DropdownMenu在导航栏中不显示

核心问题

React组件命名必须遵循首字母大写规范,小写开头的组件会被JSX解析为原生HTML标签而非自定义React组件,这是你的Dropdown组件在Menu.js中不显示的直接原因。同时你的Menu.js代码缺少组件导入语句,这也是必要前提。

修复步骤

1. 修正Dropdown组件的命名

修改Dropdown.js中的组件名称为大写开头:

import * as DropdownMenu from '@radix-ui/react-dropdown-menu';

// 首字母大写,符合React组件命名规范
export default function DropdownUserProfileMenu (){
  return (
  <>
    <DropdownMenu.Root>
      <DropdownMenu.Trigger className='trigger'>Settings</DropdownMenu.Trigger>

      <DropdownMenu.Content>
        <DropdownMenu.Item>New Item</DropdownMenu.Item>
        <DropdownMenu.Item>New Item 2</DropdownMenu.Item>
        <DropdownMenu.Item>New Item 3</DropdownMenu.Item>
        <DropdownMenu.Item>New Item 4</DropdownMenu.Item>
      </DropdownMenu.Content>
    </DropdownMenu.Root>
  </>
  )
};

2. 在Menu.js中导入并正确使用组件

确保Menu.js顶部导入Dropdown组件,并使用大写的组件名:

// 导入组件,路径请根据你的项目结构调整
import DropdownUserProfileMenu from './Dropdown';

// 其余代码保持不变,仅修改组件使用部分
<div className='w-screen mr-3 h-16 drop-shadow-md rounded-sm bg-white'>
  <div className='container px-4 md:px-0 h-full mx-auto flex justify-between items-center shadow-md'>
    <div className='text-primaryBlack'>
      <Link href='/'><p className='pl-4'>Student sharing site</p></Link>
    </div>
    <div>
      <ul id='menuElements' className={`right-0 px-10 py-16 text-primaryBlack z-50 flex mx-auto flex-row space-x-4 items-center`}>
        <Link href='/about'><li>About</li></Link>
        {/* 使用大写开头的组件名 */}
        <li><DropdownUserProfileMenu /></li>
        <Link href='/api/auth/signout'><li onClick={e => {
            e.preventDefault()
            signOut()
        }}>Signout</li>
        </Link>
      </ul>
    </div>
  </div>
</div>

额外检查

  • 确认@radix-ui/react-dropdown-menu已正确安装在项目依赖中
  • 检查组件导入路径是否与你的项目文件结构匹配

内容的提问来源于stack exchange,提问作者Nicholas Yoannou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 05:05:46