3

我有一个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 的方法是什么?

4

1 回答 1

4

你为什么要在行动中翻译信息?只需将错误密钥保存在存储中并将其传递propscomponentFormattedMessage在渲染时用于翻译它。

于 2017-09-07T20:14:53.757 回答