8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

React useState setter 不是一个函数

Mayah 2月前

17 0

[编辑]下面的代码片段编译得很好,但我收到一个运行时错误,提示:setShowError 不是一个函数。我理解这是因为钩子函数(setShowError)在

[编辑]下面的代码片段编译得很好,但我收到一个运行时错误:setShowError 不是一个函数

我的理解是,这是因为钩子函数(setShowError)在 makeNewDevisTaskForm 函数中被调用,而该函数是在钩子 taskArray 的 init 中调用的(并且可能在 setShowError 实际被声明或已知之前......)

我认为这与反应组件生命周期有关,但我该如何处理这种情况?

const DevisForm: React.FC < IDevisFormProps > = (props) => {
    const {} = props;

    const [showError, setShowError] = useState(false);
    const [taskArray, setTaskArray] = useState([makeNewDevisTaskForm()]);

    function makeNewDevisTaskForm() {
      setShowError(true); // throw runtime error 'setShowError is not a function'
      return ( < DevisTaskForm Price = {
          0
        }
        />);
      }

      return ( < div > {
            showError && ( < div className = "error_msg" > < Icon iconName = "Warning" / > < /div>)}</div > );

}
帖子版权声明 1、本帖标题:React useState setter 不是一个函数
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Mayah在本站《typescript》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 永远不会为假。你能展示一下你的代码的完整示例吗?包含此状态和此函数的组件?这是运行时错误,还是 IDE 中的错误?

返回
作者最近主题: