reactjs - React 上下文提供程序中的意外令牌“<”
问题描述
我正在尝试在 React App 中实现语言上下文,但是当我尝试将一些元素传递给 value 道具时,它不起作用。
错误是:第 2:2 行中的意外令牌(即)。但是标签很好地关闭了。我是否遗漏了绝对需要的有价值的东西?
const LanguageProvider = ({ children }) => (
<LanguageContext.Provider value={{
setLanguage,
translations
}}
>
{children}
</LanguageContext.Provider>
);
setLanguage 来自:
const [language, setLanguage] = useState('en_US');
并且翻译等于字符串对象:
const translations = {
en_US: {
settings: {
menu: 'Main Menu',
screen: 'Screen'
}
},
es_MX: {
settings: {
menu: 'Menú Principal',
screen: 'Pantalla'
}
}
};
解决方案
标签没问题,你只需要移动setLanguage
到LanguageProvider
.
const LanguageProvider = ({ children }) => {
const [language, setLanguage] = useState("en_US");
return (
<LanguageContext.Provider
value={{
setLanguage,
translations
}}
>
{children}
</LanguageContext.Provider>
);
};
我有一个沙盒,你可以试试。
推荐阅读
- javascript - 具有多个同名标记的绩效测量
- raspberry-pi - 如何在 Python 3.7 的 Raspbian 上安装 PyAudio?
- html - 如何在 CSS 中使用属性值
- visual-studio - 使 Visual Studio 2019 成为 Fortran IDE(使用 gfortran)
- html - 如何让我的导航栏停留在主页的左侧?
- java - 无法找到数组索引超出范围异常原因
- linux - 在 Linux Azure VM 的 /var/lib/waagent/ 中找不到 SSL 证书
- html - 通过滚动到达 div 时隐藏 div
- javascript - 使用将.js文件导入html
- reactjs - App Component onKeyDown not firing in App component