JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.3.2/react-dom.js"></script>
<div id="app"></div>
Babel + JSX
var MyCom = React.createClass({
getInitialState: function() {
return {
random: 'lorem',
letters:[]
}
},
splitLetter:function(){
var s = this.state.random;
for (var i = 0; i < s.length; i++) {
this.state.letters.push(s.charAt(i));
}
this.setState({
letters:this.state.letters
})
},
getLetter:function(e){
var val = e.currentTarget.textContent;
this.state.letters.forEach(function(letter) {
if (letter === val) {
alert("There is 'r' letter in the word.")
e.target.className = 'clicked';
letter.className='foundedLetter';
}
});
},
render: function() {
return (
<div>
<p>The word is: <strong>{this.state.random}</strong></p>
<p>Click the button first then click the r letter below</p>
<button onClick={this.splitLetter}>Split letter</button>
<p>Click on: <strong><span onClick={this.getLetter}>r</span></strong></p>
{this.state.letters.map(function(item){
return (
<div>
<span>{item}</span>
</div>
)
},this) /*added this to map function */
}
</div>
)
}
});
ReactDOM.render(
<MyCom/>,
document.getElementById("app")
)