У меня есть повторно используемый компонент в React, которому я могу передать несколько очень простых реквизитов:
const Section1 = (props) => (
<div className = "section">
<div className = "container is-narrow">
<div className = "content is-medium"><h2 className = "title is-1 is-bottom-bordered">{props.section1Title}</h2></div>
<div className = "columns">
<div className = "column is-half">
<div className = "content">
<blockquote>{props.section1Blockquote}</blockquote>
</div>
</div>
<div className = "column is-half">
<div className = "content">
<p>{props.section1Text}</p>
</div>
</div>
</div>
</div>
</div>
Когда я использую этот компонент, я передаю реквизиты следующим образом:
<Section1
section1Title = "Example title"
section1Blockquote = "Example blockquote"
section1Text = "Example text"
/>
Внутри строк, которые я передаю в качестве реквизита, можно ли стилизовать часть текста, сделав его жирным? Не всю строку, а только ее часть. Как в приведенном выше примере, section1Blockquote, выделить слово «Пример» полужирным шрифтом?
Большое спасибо.





вы должны передать jsx в реквизит, чтобы вы могли использовать свой собственный класс или разметку.
<Section1
section1Title = {<React.Fragment>Example <span className = "bold">title</span></React.Fragment>}
section1Blockquote = "Example blockquote"
section1Text = "Example text"
/>
в вашем css-файле.
.bold {
font-weight: bold;
}
или вы можете использовать сильный тег напрямую.
<Section1
section1Title = {<>Example <strong>title</strong></>}
section1Blockquote = "Example blockquote"
section1Text = "Example text"
/>
обновление: вместо того, чтобы оборачивать любой тег html (span), мы можем использовать React.Fragment (сокращение <>), который не будет создавать дополнительный элемент снаружи.
Большое спасибо! Именно то, что я искал.
Вместо использования <span> для переноса jsx вы можете использовать сокращенную запись фрагмента реакции <> </>, которая читается немного чище и в некоторых случаях может предотвратить непреднамеренные проблемы с форматированием. reactjs.org/docs/fragments.html#short-syntax