javascript - 如何在 ReactJs 中使用 HTML 元素呈现变量?

标签 javascript reactjs

首先我创建了一个变量 liTagsPagination<a>元素取决于 sectionsXml大小数组。然后将该变量插入 htmlPagination .最后渲染 htmlPagination包含所有 html 内容的变量。

但是 View 中输出的只是liTagsPagination的内容在纯文本中。在 DOM 中 liTagsPagination附加到 <ul>但不是作为一个不同的元素。

render() {
 let liTagsPagination = "";
 this.state.sectionsXml.forEach(function(elementSection, indexSection) {
    liTagsPagination += "<li><a id=\"_sectionPage"+ indexSection +"\" className=\"section\">"+(indexSection+1)+"<\/a><\/li>";
 });

 const htmlPagination = (
   <div id="pages-nav-branch" className="col-xs-12 text-center">
       <ul className="pagination pagination-section pagination-sm">
           {liTagsPagination}
       </ul>
   </div>
 );

 return(
    <div>
       {htmlPagination}
    </div>
 )
}

最佳答案

在 render 中使用 map 而不是 foreach 来创建 li 标签的数组。不要使用字符串连接。

render() {

    let liTagsPagination= this.state.sectionsXml.map(function(elementSection, indexSection) {
         return <li><a id={"_sectionPage"+ indexSection} className="section">{indexSection+1}</a></li>;
    });

    const htmlPagination = (
      <div id="pages-nav-branch" className="col-xs-12 text-center">
          <ul className="pagination pagination-section pagination-sm">
              {liTagsPagination}
          </ul>
      </div>
    );

    return(
       <div>
          {htmlPagination}
       </div>
    )
  }

关于javascript - 如何在 ReactJs 中使用 HTML 元素呈现变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46491925/

相关文章:

css - 带有图标的 React-Bootstrap FormControl

javascript - 使用 webpack 加载器时“找不到模块”

javascript - 重新绘制散点图,为特定值设置颜色?

javascript - 在没有服务器的情况下从文件输入中检索图像数据

javascript - 如何分别存储对象数组中的重复值

javascript - 使用 websocket.send 如何知道消息何时到达?

javascript - 使用组件作为 React 按钮

javascript - 将动态 onClick 与 ref 一起使用

javascript - 使用javascript从谷歌图片中获取随机图片

javascript - Vuex 存储状态不更新屏幕/Vue-Native