I have all this component here which for a Chat app, there are 2 views, 1 for dealer and another for players
render () {
let messages = this.props.chatMessages.map((message) => {
return <ChatItem info={message.info} me={message.me} player={message.player} message={message.message} />;
});
let chatForm, hr, dealerMode, playerMode;
if (this.props.mode === 'player') {
hr = <hr />;
chatForm = <ChatForm onAddMessage={this.addMessage} />;
playerMode = <ul className="Chat__player--messages" ref="messages">{messages}</ul>;
}
if (this.props.mode === 'dealer') {
dealerMode = <ul className="Chat__dealer--messages" ref="messages">{messages}</ul>;
}
return <div className="Chat">
<div className="Chat__player">
{playerMode}
{hr}
{chatForm}
</div>
<div className="Chat__dealer">
{dealerMode}
</div>
</div>;
}
as I have it so far, works but not properly. When you are on the dealer view, you can see a little line for this <div className="Chat__player">
even nothing comes up.
I tried by doing
return <div className="Chat">
if (this.props.mode === 'player') {
<div className="Chat__player">
{playerMode}
{hr}
{chatForm}
</div>
}
<div className="Chat__dealer">
{dealerMode}
</div>
</div>;
but all I get is that if
statement printed in the browser.