【发布时间】: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