const [dropdownOpen, setDropdownOpen] = useState(false)

return (<>
    <div className='mx-2' onClick={() => setDropdownOpen(!dropdownOpen)}>
        {user?.name}
    </div>
    <NavDropdown id="basic-nav-dropdown">
        <NavDropdown.Item>
            Logout
        </NavDropdown.Item> 
        <NavDropdown.Item href="/profile">
            Profile
        </NavDropdown.Item>
        <NavDropdown.Divider />
        <NavDropdown.Item href="/cart">
            Shopping Cart
        </NavDropdown.Item>
        <NavDropdown.Item href="/order">
            Order
        </NavDropdown.Item>
    </NavDropdown>
</>)

我正在try 使用不同的方法,通过单击{user?.name}打开下拉菜单,但出现错误:

重新渲染的次数太多.Reaction会限制渲染次数,以防止无限循环.

我如何实现名称上的点击效果,并使下拉菜单相应地出现?

推荐答案

你必须在NavDropdown中加一个props show. showprops 用于基于dropdownOpen的状态有条件地渲染NavDropdown

  const [dropdownOpen, setDropdownOpen] = useState(false);


  return (
    <>
      <div className='mx-2' onClick={() => setDropdownOpen(!dropdownOpen)}>
        {user?.name}
      </div>

      <NavDropdown show={dropdownOpen} id="basic-nav-dropdown"> // set show={dropdownOpen}
        <NavDropdown.Item>
          Logout
        </NavDropdown.Item>
        <NavDropdown.Item href="/profile">
          Profile
        </NavDropdown.Item>
        <NavDropdown.Divider />
        <NavDropdown.Item href="/cart">
          Shopping Cart
        </NavDropdown.Item>
        <NavDropdown.Item href="/order">
          Order
        </NavDropdown.Item>
      </NavDropdown>
    </>
  );

Javascript相关问答推荐

无法将nPM simplex-noise包导入在JS项目中工作

一次仅播放一个音频

Redux工具包查询(RTKQ)端点无效并重新验证多次触发

通过嵌套模型对象进行Mongoose搜索

如何在angular中从JSON值添加动态路由保护?

如何禁用附加图标点击的v—自动完成事件

如何在Node.js中排除导出的JS文件

自定义确认组件未在vue.js的v菜单内打开

当标题被点击时,如何使内容出现在另一个div上?

用于部分字符串的JavaScript数组搜索

在渲染turbo流之后滚动到元素

每隔3个项目交替显示,然后每1个项目交替显示

使用可配置项目创建网格

FindByIdAndUpdate在嵌套对象中创建_id

TabNavigator和StackNavigator之间的Reaction Native中的导航问题

在执行console.log(new X())时记录一个字符串

相对于具有选定类的不同SVG组放置自定义工具提示

当一条路由在Reaction路由中命中时,如何有条件地渲染两个组件或更改两个插座?

如何让noWrap在嵌套在Alert/AlertTitle组件中的排版组件中工作?

JS:inline date子串.