反应引导覆盖

React Boostrap Overlay

我的代码如下所示:

{signupdata.username.length < 4 ? setShow(!show) : ""}
<Overlay target={target} show={show} placement="right">
  {(props) => (
    <Tooltip id="overlay-example" {...props}>  
      username must be at least 5 characters long
    </Tooltip>
  )}
</Overlay>

但是当 username 达到 5 个字符时,一切都消失了。

我该如何解决?

这是因为这部分:

{signupdata.username.length < 4 ? setShow(!show) : ""}

这意味着如果 username.length 低于 4 setShow(!show) 正在将 show 更改为 !show 并且因为你有 show={show} 覆盖在那之后消失。