[英]React Hook useEffect has a missing dependency: 'setStuff'
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;
This code when compiled has error:编译时此代码有错误:
./src/Letters/AvailableLetter/AvailableLetter.js Line 30:31: React Hook useEffect has a missing dependency: 'setStuff'. ./src/Letters/AvailableLetter/AvailableLetter.js 第 30:31 行:React Hook useEffect 缺少依赖项:'setStuff'。 Either include it or remove the dependency array react-hooks/exhaustive-deps包括它或删除依赖数组 react-hooks/exhaustive-deps
How to fix this?如何解决这个问题?
If your setStuff function just used inside useEffect.如果您的 setStuff 函数只是在 useEffect 中使用。 Try to define them inside useEffect尝试在 useEffect 中定义它们
useEffect(() => {
const setStuff = () => {
setShow(true);
props.setSolved();
};
setStuff()
}, [show])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.