繁体   English   中英

Context.Consumer 源值 map 未呈现任何元素

[英]Context.Consumer source value map not rendering any element

我正在尝试呈现Context.Consumer收集的一系列消息。

我的实现如下:

class UserChat extends React.Component {
  render() {
    const { classes } = this.props;
    return (
      <Box display="flex" flexDirection="column">
        <span>test nessages</span>
        <sessionContext.Consumer>
          {(session) => {
            session.chat.lastMessages.map((message) => {
              console.log(message);
              return <span key={message.id}>{message.text}</span>;
            });
          }}
        </sessionContext.Consumer>
      </Box>
    );
  }
}

export default withStyles(useStyles)(UserChat);

问题是除了测试消息之外没有任何消息被呈现。

console.log(message)输出以下内容:

{userName: "User1", avatar: "", id: 12355435435, text: "Test message"}
{userName: "User2", avatar: "", id: 210394240, text: "Test message 2"}

React Devtools 得到了正确的评价:

在此处输入图像描述

元素树缺少跨度元素:

在此处输入图像描述

您忘记返回映射的 JSX。

class UserChat extends React.Component {
  render() {
    const { classes } = this.props;
    return (
      <Box display="flex" flexDirection="column">
        <span>test nessages</span>
        <sessionContext.Consumer>
          {(session) => {
            return session.chat.lastMessages.map((message) => {
              console.log(message);
              return <span key={message.id}>{message.text}</span>;
            });
          }}
        </sessionContext.Consumer>
      </Box>
    );
  }
}

export default withStyles(useStyles)(UserChat);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM