Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何在i18next配置中使用Cookie?_Reactjs_Internationalization_I18next_React I18next - Fatal编程技术网

Reactjs 如何在i18next配置中使用Cookie?

Reactjs 如何在i18next配置中使用Cookie?,reactjs,internationalization,i18next,react-i18next,Reactjs,Internationalization,I18next,React I18next,我想在i18n.js文件中使用react cookie来设置语言 我是这样尝试的,但它发送了以下错误: 无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 1.React和渲染器的版本可能不匹配(例如React DOM) 2.你可能违反了钩子的规则 3.同一应用程序中可能有多个React副本 从“i18next browser LanguageDetector”导入LanguageDetector; 从“i18next”导入i18n 从“react-i18next”导入

我想在i18n.js文件中使用react cookie来设置语言

我是这样尝试的,但它发送了以下错误: 无效的钩子调用。钩子只能在函数组件的主体内部调用。这可能是由于以下原因之一: 1.React和渲染器的版本可能不匹配(例如React DOM) 2.你可能违反了钩子的规则 3.同一应用程序中可能有多个React副本

从“i18next browser LanguageDetector”导入LanguageDetector;
从“i18next”导入i18n
从“react-i18next”导入{initReactI18next}
从“./locales/en.json”以en形式导入*
从“./locales/pl.json”以pl形式导入*
从“react cookie”导入{useCookies}
const{cookies}=useCookies(['i18n_locale'])
常量资源={
嗯:{
翻译:en.default
},
“损益”:{
翻译:pl.default
}
}
i18n
.使用(initReactI18next)
.使用(语言检测器)
.init({
资源,
lng:cookies.i18n_语言环境?cookies.i18n_语言环境:window.navigator.language,
keySeparator:错误,
插值:{
转义值:false
}
})
导出默认useCookies(i18n)

我要它工作

React钩子的使用有一定的规则()。其中一个在错误消息中提到:

钩子只能在函数组件的主体内部调用

关于
react cookie
用法:首先,在provider组件中包装根元素。这将允许在任何基于函数的组件中调用树下的
useCookies
。从lib的文档中签出