关于 setError 类型 - setError(message) 不报错的原因

来源:7-1 给页面添加Loading和Error状态,增加页面友好性

qq_小江南_04298178

2021-07-08

一下代码的 catch 中 setError 为什么没有报错?

message 是字符串类型呀但 setError 接口的不是 null 或 Error 为什么没报错

  const [error, setError] = useState<null|Error>(null); 
  useEffect(() => {
    console.log("useEffect(...,[debounceValue])");
    setIsLoading(true)
    client("projects", {
      data: cleanObject(debounceValue),
    })
    .then(setList)
    .catch(({status,message})=>{
      setList([])
      setError(message) // message 是字符串但 setError 接口的不是 null 或 Error 为什么没报错
    })
    .finally(()=>{
      setIsLoading(false)
    })
  }, [debounceValue]); // param 发生变化时执行
写回答

1回答

Nolan

2021-07-09

看了很多遍终于看懂你要表达什么意思


编辑器里的ts一定会报错的吧,页面运行不会报错是正常的,ts是在静态阶段执行

0
3
qq_小江南_04298178
回复
qzxqqa
,鼠标放到 setError(message) 时提示 message 是 any 类型
2021-07-27
共3条回复

React17+Hook+TS4 优质实践,仿 Jira 企业级项目

解锁 React17 高阶用法,轻松应对大型复杂长周期项目

2691 学习 · 1236 问题

查看课程