FormattedMessage с defaultMessage показывает ошибку на консоли - PullRequest
0 голосов
/ 29 января 2019

Приложение, с которым я работаю, имеет возможность добавлять настраиваемые поля для конкретной формы, и эти поля не поддерживают интернационализацию.Однако из-за компонентов в нашем проекте даже после добавления defaultMessage в FormattedMessage мы получаем следующую ошибку:

[React Intl] Missing message: "Custom Field #01" for locale: "en", using default message as fallback.

Вот как был реализован наш BaseInput.

class BaseInput extends Component {
  render() {
    let { id, style, label, required, errorMessage } = this.props;
    let errorClass = errorMessage ? "text-field-error" : "";

    return (
      <div className={errorClass} style={style}>
        <label
          id={`${id}_label`}
          name={`${id}_label`}
          className="ui-outputlabel"
        >
          <FormattedMessage id={label} defaultMessage={label} />
        </label>
        {required && <span className="wms-required-field"> *</span>}
        {this.generateInput()}
        {errorMessage && (
          <div className={"ui-message-error ui-widget ui-corner-all"}>
            <span id={`${id}_error`} className={"ui-message-error-detail"}>
              <FormattedMessage id={errorMessage} />
            </span>
          </div>
        )}
      </div>
    );
  }
}

Я знаю, что у json нет перевода для данного идентификатора.У меня проблема с сообщением об ошибке на консоли даже при добавлении defaultMessage.Кто-нибудь есть какие-либо предложения о том, как решить эту проблему?

Заранее спасибо

1 Ответ

0 голосов
/ 29 января 2019

Это потому, что у вас, json, нет перевода для id, указанного в реквизите.Только переводы, определенные и предоставленные в IntlProvider, могут быть переведены или будет показано сообщение по умолчанию.

...