Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.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
Reactjs 使用引导的模式不';更新内容_Reactjs_Bootstrap Modal - Fatal编程技术网

Reactjs 使用引导的模式不';更新内容

Reactjs 使用引导的模式不';更新内容,reactjs,bootstrap-modal,Reactjs,Bootstrap Modal,在我的应用程序中,我会显示一个包含额外信息(未显示)的项目列表,并在每个项目旁边显示一个按钮以“查看”更多信息。我想在模式中显示额外的信息。我成功地实现了模态,它以我希望的方式显示信息 但问题是,当我单击第二个列表项的按钮时,信息没有被更新,它仍然显示(第一个项的)旧信息。我如何解决这个问题?为什么会发生这种情况 从另一个类调用映射函数: <List> this.props.enrolledClasses.map(enrolledClass => ( <

在我的应用程序中,我会显示一个包含额外信息(未显示)的项目列表,并在每个项目旁边显示一个按钮以“查看”更多信息。我想在模式中显示额外的信息。我成功地实现了模态,它以我希望的方式显示信息

但问题是,当我单击第二个列表项的按钮时,信息没有被更新,它仍然显示(第一个项的)旧信息。我如何解决这个问题?为什么会发生这种情况

从另一个类调用映射函数:

 <List>
    this.props.enrolledClasses.map(enrolledClass => (
     <ClassesPeek
      title="Overview"
      enrolledClass={enrolledClass}
     />
 </List>

this.props.enrolledClasses.map(enrolledClass=>(
ClassesPeek:

      <List.Item>
      <span>{this.props.enrolledClass.name}
      <button type="button" className="ui compact primary button mt-3" data-toggle="modal" data-target="#details">
        View
      </button> 
      <div class="modal" id="details">
        <div class="modal-dialog modal-dialog-centered">
          <div class="modal-content">
            <div class="modal-header">
              <center><h4 class="modal-title">{this.props.enrolledClass.name}</h4></center>
              <button type="button" className="close" data-dismiss="modal">&times;</button>
            </div>
            <div class="modal-body">
              {this.props.enrolledClass.description}
            </div>
          </div>
        </div>
      </div> 
     </span>
    </List.Item>

{this.props.enrolledClass.name}
看法
{this.props.enrolledClass.name}
&时代;
{this.props.enrolledClass.description}

因此,在上面的代码中,当我单击第二个列表项的“查看”按钮时,模式仍然显示第一个项的名称和描述。

我认为出现这种情况的主要原因是您的JavaScript代码在单击按钮时打开了模式。您能检查一下吗?我建议对此类用例始终使用refid的。

它将始终显示旧代码,因为您没有通过向模式传递唯一键(id)来指定它应该查看哪一个。请将您的代码更新到下面的代码段,然后它将按预期工作

<List.Item>
  <span>{this.props.enrolledClass.name}
  <button type="button" className="ui compact primary button mt-3" data-toggle="modal" data-target={`#details${this.props.enrolledClass.id}`} id={`#details${this.props.enrolledClass.id}`}>
    View
  </button> 
  <div class="modal" id={`details${this.props.enrolledClass.id}`}>
    <div class="modal-dialog modal-dialog-centered">
      <div class="modal-content">
        <div class="modal-header">
          <center><h4 class="modal-title">{this.props.enrolledClass.name}</h4></center>
          <button type="button" className="close" data-dismiss="modal">&times;</button>
        </div>
        <div class="modal-body">
          {this.props.enrolledClass.description}
        </div>
      </div>
    </div>
  </div> 
 </span>
</List.Item>

{this.props.enrolledClass.name}
看法
{this.props.enrolledClass.name}
&时代;
{this.props.enrolledClass.description}

请提供不起作用的代码。@ryanwebjackson添加了代码。文件中有(很多)其他代码。但我希望我提供了足够的代码来处理。很抱歉,我错误地拒绝了你的编辑,你是对的……我现在已经更新了。