Ответ на вопрос 1:
Я бы сказал, да.Вы должны выбрать между использованием декларативного (например: <FormattedMessage />
) или императивного API (например: intl.formatMessage()
).
Ответ на вопрос 2:
Можно, но тогда зачем тогда использовать react-intl
?(Вы могли бы сказать, что вы хотите использовать только методы локализации для даты, чисел, процентов ... это было бы нормально, но ИМХО у вас было бы гораздо больше усилий, чтобы создать собственное решение, отличное от использования библиотеки lib.)
Я всегда предпочитаю использовать декларативный API, и рекомендуется иметь ID и сообщение по умолчанию .Это сообщение по умолчанию, на которое реагирует реагирующий-международный, на самом деле вам поможет.Это запасной вариант, так как в случае, если вы пропустили один перевод, по умолчанию это сообщение.
Я рекомендую использовать императивный API, если вы хотите повторно использовать метки или если вам нужно использовать их вне компонентов реагирования (из моего опыта,это были единственные случаи, когда это можно было сделать).Вы также можете использовать babel-plugin-реагировать-intl , чтобы автоматически извлечь ярлыки из вашего приложения и сделать вашу жизнь намного проще!