TypeScript环境下创建带setter的React Context遇TS编译错误求助
解决React Context中TypeScript类型错误问题
直接按以下步骤修改代码即可解决两个问题:
定义Context的类型接口
先明确Context的结构类型,让TypeScript能正确推断每个属性的类型:interface ErrorContextType { error: string; setError: (val: string) => void; }传入符合类型的默认值
默认值里的setError用下划线_标记未使用的参数,消除"val未使用"的警告:const Context = createContext<ErrorContextType>({ error: "", setError: (_val: string) => {} });
这样修改后:
- TypeScript会识别
setError需要接收一个string参数,不会再提示"Expected 0 arguments, but got 1"; - 用
_val替代val,明确表示这个参数是故意不使用的,消除未使用参数的警告。
内容的提问来源于stack exchange,提问作者Vana
相关产品推荐
相关产品推荐

