Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在条件三元内处理多个useState_Javascript_Reactjs_Ecmascript 6 - Fatal编程技术网

Javascript 在条件三元内处理多个useState

Javascript 在条件三元内处理多个useState,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,因此,出于某种原因,我不能在条件三元中使用多个useState,但在第二个示例中,我可以 第一个有两个useStates,似乎有效 const nextAnswer = () => { (videoIndex === videoData.length - 1) ? setVideoIndex(0):setVideoIndex(prevWord => prevWord + 1); setShowResults(false

因此,出于某种原因,我不能在条件三元中使用多个useState,但在第二个示例中,我可以

第一个有两个useStates,似乎有效

    const nextAnswer = () => {
        (videoIndex === videoData.length - 1) ? 
            setVideoIndex(0):setVideoIndex(prevWord => prevWord + 1);
        setShowResults(false)
    }
但是这个似乎不起作用

    const [showResults, setShowResults] = useState(false)
    const [showButton, setShowButton] = useState("Show Answer")

    const showMe = () => {
        (setShowResults === false) ? 
            setShowResults(true); setShowButton("Hide Answer"):
            setShowResults(false); setShowButton("Show Answer")
    }

有人能帮我吗?

你真的不应该用三元数来表示代码块。如果您需要帮助使第二个代码段正确运行,我建议您从不同的角度来看待逻辑

据我所知,你想

切换showResults值 基于showResults值有条件地呈现显示/隐藏答案 代码


基本上只是尽量保持代码干燥。

你真的不应该在代码块中使用三元。如果您需要帮助使第二个代码段正确运行,我建议您从不同的角度来看待逻辑

据我所知,你想

切换showResults值 基于showResults值有条件地呈现显示/隐藏答案 代码


基本上只是尽可能地保持代码的干性。

您的三元代码有问题,无法运行两条语句。只需使用if语句

if (!showResults) {
    setShowResults(true);
    setShowButton("Hide Answer");
} else {
    setShowResults(false);
    setShowButton("Show Answer");
}

您的三元语句有问题,无法运行2条语句。只需使用if语句

if (!showResults) {
    setShowResults(true);
    setShowButton("Hide Answer");
} else {
    setShowResults(false);
    setShowButton("Show Answer");
}

啊,我是想避免这个。但我想这没办法,谢谢你!啊,我是想避免这个。但我想这没办法,谢谢你!
if (!showResults) {
    setShowResults(true);
    setShowButton("Hide Answer");
} else {
    setShowResults(false);
    setShowButton("Show Answer");
}