Потерпите меня, я не знаю, как объяснить эту проблему.
Я использую Bootstrap Table для отображения своих данных, у меня есть searchFilters, сортировка и многие другие функции в таблице.
Когда я начал реализовывать интернационализацию, я начал с форматирования непосредственно в текстовом компоненте, когда у меня появилось слишком много столбцов и таблиц, я переместил имена столбцов во внешние файлы, которые читаются при необходимости. Мне также нужно было добавить динамический перевод, как вы можете видеть с помощью headerFormatter.
Проблема в том, что библиотека react-intl добавляет теги <span> при рендеринге, из-за чего другие теги <span> не работают должным образом.
const headerFormatter = (col, colIndex) => {
return (
<FormattedMessage id = {col.text} key = {colIndex} />
);
}
//Column Example
{dataField: 'agentNo',text: 'AgentNo', headerFormatter: headerFormatter, filter: textFilter({defaultValue:''}), sort: true},
Есть ли способ заставить <FormattedMessage /> возвращать только string в этом сценарии?
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Отформатировано:
<span>Date</span>
Неформатированный:
AgentNo
<span class = "react-bootstrap-table-sort-order dropup"><span class = "caret"></span></span>
Этот <span> раздавлен <span><FormattedMessage />
все это находится в элементе без состояния, мне нужна строка, потому что она переопределяет другие функции диапазона в заголовке столбца
колонка находится под export const entityListColumns = { columns : [
Я добавил немного подробностей в вопрос



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вы можете добавить свои классы в компонент FormattedMessage следующим образом:
const headerFormatter = (col, colIndex) => {
return (
<FormattedMessage className = "react-bootstrap-table-sort-order dropup" id = {col.text} key = {colIndex} />
);
}class - зарезервированное ключевое слово в React.
можно написать className для стайлинга
также MayK, это не сработает, потому что css class динамически генерируется bootstrap и изменяется, когда состояние сортировки изменяется на сортировку по возрастанию или убыванию. он пойдет с react-bootstrap-table-sort-order dropup на react-bootstrap-table-sort-order
Мы решили реорганизовать и использовать функцию formatMessage, основанную на контексте
вы возвращаете компонент
< FormattedMessage >, зачем вам строка? что ты будешь делать со строкой? Я не уверен, что понимаю вашу проблему