javascript - 使用对象列表中的循环将数据附加到组件

标签 javascript jquery reactjs jsx

如何将对象列表“标签”中的值添加到我的 ReviewTag 组件并生成所有标签?

这是我的代码:

var ReviewTag = React.createClass({
    render: function() {
         var tags = [{"id": 1, "name": "friendly"}, {"id": 2, "name": "comfortable"}, {"id": 3, "name": "fast"}];
        return (
            <div>
                <input type="checkbox" id="TAG_ID" name="TAG_NAME"/><label htmlFor="TAG_NAME">Tag name</label>
            </div>
        );
    }
});

我想在其他组件中渲染所有标签,但我不知道该怎么做?

<div className="characteristics-column">
    <ReviewTag/> //how can I render this tags with data from 'tags' variable ?
</div>

非常感谢每个帮助解决方案。

最佳答案

您需要映射对象并生成标签的所有组件

// your tag component 
var Tag = React.createClass({
    render: function() {

        return (
            <div>
              <input type="checkbox" id={this.props.id} name={this.props.name}/><label htmlFor={this.props.name}>{this.props.name}</label>
            </div>
        );
    }
});

var ReviewTag = React.createClass({
    render: function() {
         var tags = [{"id": 1, "name": "friendly"}, {"id": 2, "name": "comfortable"}, {"id": 3, "name": "fast"}];
         const tagComps = tags.map(function(tag){
           return <Tag {...tag}>;
         })
        return (
            <div>
                 {tagComps}
            </div>
        );
    }
});

关于javascript - 使用对象列表中的循环将数据附加到组件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39488959/

相关文章:

javascript - 我想让我的提交按钮成为 href 图像

javascript - 选择 HTML 选择/下拉列表中的项目时会触发什么事件?

javascript - 从 parent 到 child 的 react 事件委托(delegate)

javascript - 使用 Bacon.js 在延迟为 "pending"时禁用提交按钮

javascript - 表单ajax和ob_flush

javascript - 如何访问Javascript对象中的窗口变量?

javascript - React/Redux 如何用逗号分割输入值

javascript - angularjs 脚本不工作

javascript - Div 未显示且未弹出任何错误

javascript - 如果有特定文本则删除元素