首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >注册reduxForm后,react-intl FormattedMessage未更新

注册reduxForm后,react-intl FormattedMessage未更新
EN

Stack Overflow用户
提问于 2018-04-25 04:04:57
回答 1查看 452关注 0票数 0

reduxForm注册组件后,react-intl FormattedMessages在以下状态的区域设置更改后不会更新:

代码语言:javascript
复制
import React from 'react';
import { reduxForm } from 'react-redux-form';
import { Form } from 'reactstrap';
import { FormattedMessage } from 'react-intl';

const ExampleForm = ({ handleSubmit }) => (
  <Form onSubmit={handleSubmit}>
    <h2>
      <FormattedMessage id="example.title" />
    </h2>
    ...
  </Form>
);

// When added reduxForm FormattedMessages are not displaying
// correct translation after language locale change through reducer
export default reduxForm({
  form: 'example',
})(ExampleForm);

// If I I am using without reduxForm everything works correctly
// export default ExampleForm;

有没有人有这方面的经验?对我来说,它们只有在我离开路由并返回时才会更新,或者只是刷新页面,当然是因为我在actions中将区域设置写入localStorage,并在存储初始化中读取它。

Lib版本:

代码语言:javascript
复制
"react": "^16.3.2",
"redux": "^4.0.0",
"react-redux": "^5.0.7",
"redux-form": "^7.3.0",
"react-intl": "^2.4.0",
"react-intl-redux": "^0.7.0",
EN

回答 1

Stack Overflow用户

发布于 2018-04-25 04:42:04

包装reduxForm需要injectIntl

代码语言:javascript
复制
import { FormattedMessage, injectIntl } from 'react-intl';

export default injectIntl(reduxForm({
  form: 'example',
})(ExampleForm));
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50009967

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档