Вы можете создать компонент, который разбивает строку на массив и отображает части строки как отдельный HTML-элемент.
Пример:
class WordList extends React.Component {
constructor(props) {
super(props);
this.onClick = this.onClick.bind(this);
}
onClick (word) {
const { onClick } = this.props;
onClick(word);
}
render () {
const { word } = this.props;
const wordsArr = word.split(" ");
return (
wordsArr.map((w, i) => (
<>
<span onClick={() => this.onClick(w)} key={i}>{w}</span>
<span> </span>
</>
))
)
}
}
export default WordList;
И тогда вы можете включить компонент следующим образом:
<WordList onClick={(word) => alert(word)} word={'I eat banana'} />