问题描述
export function useI18n() : [ string,dispatch<SetStateAction<string>> ] {
const [ language,setLanguage ] = useState<string>(i18n.language)
useEffect(() => {
i18n.changeLanguage(language)
},[ language ])
return [ language,setLanguage ];
}
在我的组件中,我像这样使用这个钩子:
const [language,setLanguage] = useI18n();
我正在使用react-scripts,当我做npm start
时,我得到以下信息:
Failed to compile.
./src/config/i18n.ts
Line 0: Parsing error: Cannot read property 'map' of undefined
但是,如果我将钩子设置为返回对象而不是数组,则不会发生此错误,
export function useI18n() : { language: string,setLanguage: dispatch<SetStateAction<string>> } {
const [ language,[ language ])
return { language,setLanguage };
在这种情况下,我这样称呼它:
const { language,setLanguage } = useI18n();
有人知道为什么返回数组会导致编译失败吗?也许我在犯一些奇怪的错误。 预先感谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)