Один из вариантов <ReactMarkdown>
- renderers
.
Один из common renderers обрабатывает заголовки. Если вы посмотрите на default rendering вы увидите это:
heading: function Heading(props) {
return createElement('h' + props.level, getCoreProps(props), props.children);
},
Так проходят в собственном heading
обработчика. Проверьте уровень внутри, примерно:
function CustomHeading(props) {
if (props.level !== 2) {
return createElement(`h${props.level}`, getCoreProps(props), props.children);
}
return <MyCustomElement {...props} />
}
Если у вас нет доступа к коду, который commonmark реагирующими-визуализатор дает вам в контексте вашей функции (которые вы, вероятно, не будет), то вы бы также необходимо дублировать то, что дает вам createElement
(но это просто).
Unrelated: Я никогда не использовал <ReactMarkdown>
(но будет), но это заняло мне все три минуты исследования. Мой путь был следующим:
- react-markdown страница
- Отсканированные через раздел «Параметры», чтобы увидеть, если пользовательский рендеринг был тривиальным поддерживается
- Найденный
renderers
вариант, который звучал многообещающе
- Нажал the link предоставленные в документах этого опциона
- Видел, что
heading
был одним из тех (что имело смысл, я ожидал бы рендеринга для каждого основного форматирования, поддерживаемого Markdown)
- Открылись каталог
src
, чтобы увидеть, если реализация было легко найти
- Там был только один файл, так что я открыл его
- Искал страницу для «заголовок» и found it
- вырезать и вставить код здесь
Умение читать документы и следить за тропами действительно важно.
Я не видел эту библиотеку, и она идеально подходит для моих ближайших потребностей, поэтому спасибо за это :) –