Да, это возможно.Просто назначьте свой компонент JSX переменной и передайте эту переменную в качестве реквизита.У вас правильная идея.Например:
var customHeader = <h1>Here's a custom component</h1>
Вы также можете установить customHeader
для компонента React, например: var customHeader = <CustomHeader />
Вы можете пройти через <MyComponent header={customHeader}/>
и в вашей функции render
Страница MyComponent
, вы можете просто использовать {this.props.header}
для загрузки вашего компонента.Это можно повторить для любого количества компонентов.
Редактировать на основе комментариев.В этом случае я бы обернул компонент в функцию.Например:
getCustomHeader = (title) => {
return <MyHeader
headerTitle={title}
/>
}
Теперь в вашей функции рендеринга вы можете вызвать getCustomHeader
.
render() {
return <div>
<MyComponent1 header={this.getCustomHeader("Title A")} />
<MyComponent2 header={this.getCustomHeader("Title B")} />
</div>
}
.