Zustand与React报错:This expression is not callable,求问题排查
问题原因与解决方法
问题根源
你给出的Store定义代码本身没有问题,错误出在组件中调用该Store的方式。错误提示Error: This expression is not callable. No constituent of type 'callStatusType' is callable.,说明你在组件里把类型为callStatusType(即字符串字面量"Calling"/"Answered"/"Declined")的callStatus当成函数来调用了,比如类似这样的错误写法:
// 错误用法示例 const { callStatus } = useCallStatus(); callStatus(); // 此处把字符串状态当成函数调用,触发报错
正确使用方式
直接读取callStatus的值,或者调用setCallStatus方法修改状态:
// 正确用法示例 const { callStatus, setCallStatus } = useCallStatus(); // 读取当前通话状态 console.log(callStatus); // 输出 "Declined"/"Calling"/"Answered" // 修改通话状态 setCallStatus("Calling");
额外检查点
如果你没有直接调用callStatus,也可能是解构时的笔误,比如把setCallStatus写成了callStatus,导致误把状态值当成函数调用,仔细核对组件中的变量名即可。
内容的提问来源于stack exchange,提问作者iufb
相关产品推荐
相关产品推荐

