【发布时间】:2020-02-14 07:55:40
【问题描述】:
我是 React 新手,我不知道如何在地图循环上通过 onClick() 调用内部函数。让我告诉你:
const changeLang = lang => {
i18n.changeLanguage(lang);
};
我有这个功能,负责为我提供英语或葡萄牙语等语言。我试图用下面的代码做的是根据我从菜单中选择的菜单项来改变语言。为此,我有以下代码:
const languages = [
{
value: 'pt',
label: 'Portuguese',
},
{
value: 'en',
label: 'English',
}
];
...
{languages.map(option => (
<MenuItem key={option.value} value={option.value} onClick={() => this.changeLang (option.value)}>
{option.label}
</MenuItem>
))}
问题是无法进入我的函数changeLang,所以没有选择语言,完全没有效果。我已经尝试了 console.log,但我没有得到任何回报。我很确定问题出在onClick={() => this.changeLang (option.value)},但我不知道为什么。你能帮帮我吗?
【问题讨论】:
-
这是一个功能组件吗?
-
是的,我只是没有介绍所有代码,因为它对问题无用。
-
你能检查一下'this'是否有'changeLang'功能。你可以通过这个 onClick={() => console.log(this.changeLang)}
-
这是一个基于类的组件吗?
标签: javascript reactjs loops dictionary onclick