Javascript 在React Context API呈现函数中从映射函数呈现HTML
我试图通过从Javascript 在React Context API呈现函数中从映射函数呈现HTML,javascript,reactjs,jsx,map-function,react-context,Javascript,Reactjs,Jsx,Map Function,React Context,我试图通过从组件内部调用map on state来呈现标题列表,但代码没有返回列表项。但是,如果我执行console.log(dataImTryingToMap)它精确地显示了我试图渲染的内容。已呈现,但未呈现。create react应用程序未引发任何错误。我错过了什么???以下是消费者部分: <MyContext.Consumer> {context => ( <ul> {Object.keys(context.s
组件内部调用map on state来呈现标题列表,但代码没有返回列表项。但是,如果我执行console.log(dataImTryingToMap)代码>它精确地显示了我试图渲染的内容。已呈现
,但未呈现
。create react应用程序未引发任何错误。我错过了什么???以下是消费者部分:
<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>
谢谢你的帮助 您没有从Array.map()
回调返回任何内容:
{Object.keys(context.state.subjects).map(subject => {
<li>{context.state.subjects[subject].title}</li>; <-- this is not returned
console.log(context.state.subjects[subject].title);
})}
{Object.keys(context.state.subjects).map(subject=>{
{context.state.subjects[subject].title} (
{context=>(
{Object.keys(context.state.subjects).map(subject=>{
console.log(context.state.subjects[subject].title);
返回(
- {context.state.subjects[subject].title}
);
})}
)}
);
常量Demo=({value})=>(
);
ReactDOM.render(
,
演示
);
您没有从map函数内部返回任何内容,因此它不会呈现任何内容。或者像
<MyContext.Consumer>
{context => (
<ul>
{Object.keys(context.state.subjects).map(subject => {
return <li>{context.state.subjects[subject].title}</li>;
})}
</ul>
)}
</MyContext.Consumer>
<MyContext.Consumer>
{context => (
<ul>
{Object.keys(context.state.subjects).map(subject => (
<li>{context.state.subjects[subject].title}</li>;
))}
</ul>
)}
</MyContext.Consumer>
{context=>(
{Object.keys(context.state.subjects).map(subject=>{
返回- {context.state.subjects[subject.title}
;
})}
)}
或者含蓄地喜欢
<MyContext.Consumer>
{context => (
<ul>
{Object.keys(context.state.subjects).map(subject => {
return <li>{context.state.subjects[subject].title}</li>;
})}
</ul>
)}
</MyContext.Consumer>
<MyContext.Consumer>
{context => (
<ul>
{Object.keys(context.state.subjects).map(subject => (
<li>{context.state.subjects[subject].title}</li>;
))}
</ul>
)}
</MyContext.Consumer>
{context=>(
{Object.keys(context.state.subjects).map(subject=>(
- {context.state.subjects[subject].title}
;
))}
)}
隐式返回或添加“return”关键字不会改变任何东西(我将更新我的代码,我在发布前隐式返回。隐式返回或添加“return”关键字不会改变任何东西(我将更新我的代码,我在发布前隐式返回 )。在检查页面时,会呈现元素及其内部的,但正如您所看到的,没有- 。因此,请找出演示与代码之间的差异。在测试中,如果我在consumer组件中写入,我确实会得到我想要呈现的数据:{context.state.subjects.subject0.title}/p>呈现“Math”到页面是的,在做更多的测试时,我把“地图”改成了“forEach”,却忘了把它改回去。太多的深夜编码……谢谢!