首页  >  问答  >  正文

停止在true/false之间切换,当值无需更改时的方法

<p>我有一个简单的真/假切换函数:</p> <pre class="brush:php;toolbar:false;">import {useState} from 'react' const [ isTrue, setIsTrue] = useState(true) function handleSwitcher(){ {isTrue ? setIsTrue(false) : setIsTrue(true)} } <button onClick={()=>{ handleSwitcher() console.log(isTrue) }}> 设置为真 </button> <button onClick={()=>{ handleSwitcher() console.log(isTrue) }}> 设置为假 </button></pre> <p>如果我们点击这两个按钮,它将始终呈现与真或假相反的结果。我需要的是,如果isTrue的值为假,并且我点击“设置为假”按钮,它不会将isTrue的值更改为真。同样,对于“设置为真”按钮,当值为真时,它不应将isTrue的值更改为假。</p>
P粉957723124P粉957723124404 天前443

全部回复(1)我来回复

  • P粉165823783

    P粉1658237832023-08-15 18:56:53

    您不需要一个handleSwitcher,只需在点击按钮时设置所需的值,然后它将完全按照您的要求进行

    import {useState} from 'react'
    const [ isTrue, setIsTrue] = useState(true)
    
    <button onClick={()=>{
        setIsTrue(true)
        console.log(isTrue)
    }}>
       设置为true
    </button>
    
    <button onClick={()=>{
        setIsTrue(false)
        console.log(isTrue)
    }}>
       设置为false
    </button>

    回复
    0
  • 取消回复