【发布时间】:2017-03-29 22:29:44
【问题描述】:
我有一个聊天功能,我正在尝试在我的 JSX 代码中显示一组消息,并根据对象中的值有条件地呈现 className。
我真的是 ES6 和 React 的新手,我不知道如何在 JSX 中处理这个逻辑。我正在使用 redux 将我的状态映射到道具。为简洁起见,我将代码简化为最简单的形式。
class ChatWidget extends Component {
render() {
return (
<div className={chat.body}>
{/* if from_id == 1 */}
<div className={chat.float-right}>
<p> {/* message of from_id==1 */} </p>
</div>
{/* else */}
<div className={chat.float-left}>
<p> {/* else message here */} </p>
</div>
</div>
);
}
}
function mapStateToProps(state) {
return {
messages: state.messages
};
}
这是我的示例 JSON 数组。
[
{
msg_id: 1,
to_id: 1,
from_id: 2,
message_id: "Marzipan jelly-o croissanty"
},
{
msg_id: 2,
to_id: 2,
from_id: 1,
message_id: "Jelly sw"
}
]
【问题讨论】:
-
你能解释一下你的逻辑吗?您想从 from_id 为 1 的对象中渲染 message_id 文本,然后按什么顺序显示其他聊天消息?
标签: reactjs ecmascript-6 react-jsx jsx