【问题标题】:React dynamically adding html elements/React 动态添加 html 元素/
【发布时间】:2019-12-21 01:19:06
【问题描述】:

我是 React 新手。我目前有一个组件。这个组件有一个标题和一个正文。正文可以有几个段落,我想根据每个段落的数量动态添加元素。所以现在我有这个:

import React from 'react';

class Content extends React.Component{
    render(){
        var props_list = this.props;
        var keys = Object.keys(props_list);
        console.log(props_list["title"]);

        for (var i = 0; i < keys.length; i++){
            console.log(props_list[keys[i]]);
        }

        return (
            <div className="introduction">
                <h3>{props_list["title"]}</h3>
                <div className="div-content">

                </div>
            </div>
        );
    }
}

export default Content; 

现在使用这段代码,我可以获得添加到每个组件的所有道具和信息,但我不知道如何将这些信息动态添加到 div 内容中。

提前谢谢你!

【问题讨论】:

  • 不清楚你希望每个段落看起来像什么,或者你想显示什么集合。您是否尝试显示每个非标题道具及其值?
  • 您可以渲染一组 html 元素、组件和基元

标签: javascript reactjs


【解决方案1】:

所以。如果我们能更多地了解传递到此组件的道具的形状,那将有所帮助,但这应该足以让您继续前进。

import React from 'react';

class Content extends React.Component{
   render(){
    var props_list = this.props;
    var keys = Object.keys(props_list);
    console.log(props_list["title"]);
            const paragraphs = [];
    for (var i = 0; i < keys.length; i++){
        console.log(props_list[keys[i]]);
        // This part is to make sure you are not re-rendering your title.
        if(keys[i] !== "title"){
            paragraphs.push(<p>{props_list[keys[i]]}</p>);
        }      
    }

    return (
        <div className="introduction">
            <h3>{props_list["title"]}</h3>
            <div className="div-content">
              {paragraphs}
            </div>
        </div>
    );
 }
} 

【讨论】:

  • 非常感谢。这非常有效,但是您必须添加 {props_list[keys[i]]} 否则它不会呈现为变量。
  • 优秀。很高兴它奏效了。我将编辑以上内容。
猜你喜欢
  • 2019-01-06
  • 1970-01-01
  • 2019-02-17
  • 2019-12-29
  • 2022-11-30
  • 2017-09-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多