Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在React Context API呈现函数中从映射函数呈现HTML_Javascript_Reactjs_Jsx_Map Function_React Context - Fatal编程技术网

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”,却忘了把它改回去。太多的深夜编码……谢谢!