【问题标题】:React Hook useEffect has a missing dependency: 'setStuff'React Hook useEffect 缺少依赖项:'setStuff'
【发布时间】:2020-03-30 00:14:43
【问题描述】:
import React, {useState, useEffect} from 'react';
import classes from './AvailableLetter.module.css';

const AvailableLetter = (props) => {
    const [show,setShow]=useState(true);
    // const [clicked, setClicked]=useState(false);
    // const [outcome,setOutcome]=useState(false);

    // if (show)
    // {
    //     setClicked(true);
    // }

    // const play = (alphabet) => {
    //     const solution = props.solution.split('');
    //     if (solution.indexOf(alphabet)<0)
    //     {
    //         return false;
    //     }
    //     else
    //     {
    //         return true;
    //     }
    // }

    const setStuff = () => {
        setShow(true);
        props.setSolved();
    };
    useEffect( ()=>setStuff(),[show] );

    // useEffect( ()=>setShow(true),[show] );
    // useEffect( ()=>props.setSolved(),[show] );

    if (!show)
    {
        if (props.play())
        {
            props.correct();
            // alert('correct');
        }
        else
        {
            props.incorrect();
            // alert('wrong');
        }
    }

    const letter = show ? <span onClick={()=>setShow(false)} className={classes.AvailableLetter}>{props.alphabet}</span> : null;

    return (
        <span>
            {letter}
        </span>
    );
}

export default AvailableLetter;

这段代码编译时有错误:

./src/Letters/AvailableLetter/AvailableLetter.js 第 30:31 行:React Hook useEffect 缺少依赖项:'setStuff'。要么包含它,要么移除依赖数组 react-hooks/exhaustive-deps

如何解决这个问题?

【问题讨论】:

  • 试试useEffect(setStuff, [show]);
  • 成功了!谢谢

标签: reactjs


【解决方案1】:

如果你的 setStuff 函数只是在 useEffect 中使用。尝试在 useEffect 中定义它们

useEffect(() => {
   const setStuff = () => {
        setShow(true);
        props.setSolved();
   };
   setStuff()
}, [show])

【讨论】:

    猜你喜欢
    • 2021-02-23
    • 2019-10-24
    • 2020-10-26
    • 2020-03-07
    • 2020-02-25
    • 2020-06-11
    • 2020-12-29
    • 2019-09-20
    • 2021-03-29
    相关资源
    最近更新 更多