我试图通过从<MyContext.Consumer>
组件内部调用状态映射来呈现标题列表,但代码没有返回列表项。但是,如果我这样做,console.log(dataImTryingToMap);
它会准确显示我要渲染的内容。被<ul>
渲染但没有被渲染<li>
。create-react-app 没有抛出任何错误。我错过了什么???这是消费者组件:
<MyContext.Consumer>
{context => (
<ul>
{Object.keys(context.state.subjects).map(subject => {
<li>{context.state.subjects[subject].title}</li>;
console.log(context.state.subjects[subject].title);
})}
</ul>
)}
</MyContext.Consumer>
控制台日志准确地返回了我正在寻找的数据,但屏幕上没有显示任何内容。
这是<MyContext.MyProvider>
组件的状态:
state = {
subjects: {
subject0: {
title: "Math",
description: "",
cards: {
card1: {
note: "",
answer: ""
}
}
},
subject1: {
title: "history",
description: "",
cards: {
card1: {
note: "",
answer: ""
}
}
}
}
};
谢谢你的帮助!