我执行了performLogin
操作,该操作会触发API并尝试使用提供的凭据对用户进行身份验证。此API调用可能导致错误。她是我的行动:
export const performLogin = (email: string, password: string) => {
return (dispatch) => {
UsersAPI.login(email, password).then(response => {
// [..]
}).catch(error => {
const definedError: Error = defaultError;
switch (error.response.status) {
case 401:
definedError.message = 'Invalid email or password';
break;
default:
definedError.message = error.message;
}
dispatch(displayError(definedError));
});
};
};
我的问题是,我如何将Invalid email or password
国际化?
我使用React Intl所以我在组件中拥有i18n的基础设施。我的想法是定义一个错误类型,在操作中设置它,让登录组件或全局错误组件决定应该显示哪个错误。
React-Redux的方法是什么?
答案 0 :(得分:3)
为什么要尝试翻译邮件?只需在商店中保存错误密钥,然后将其props
传递给component
,并在渲染时使用FormattedMessage
进行翻译。