使用数据数组创建多个类似组件
Creating multiple similar components with an array of data
我有一个json文件,其中包含一组代表人物的数据。
我想每人制作一个组件。我应该制作一个组件并在渲染函数内循环我的数据,还是应该在ReactDOM.render函数外循环并在每个循环中传递一段特定的数据?
我应该这样做吗:
var PersonBox = React.createClass({
render: function() {
var person = this.props.data.map(function(person, index) {
return <div id="person" key={index}>
// person stuff here
</div>
});
return (
<div>
{person}
</div>
);
}
ReactDOM.render(<PersonBox data={mydata} />, document.getElementById('container'));
或者我应该这样做:
var PersonBox = React.createClass({
render: function() {
return (
<div>
// person stuff
</div>
);
}
mydata.map(function(person, index) {
ReactDOM.render(<PersonBox data={person} />, document.getElementById('container'));
}
您应该使用第一个变体。,您可以将代码拆分为小组件,例如,您可以将您的代码拆分为两个组件,如
var Person = React.createClass({
render: function() {
return <div>
Name is <strong>{ this.props.name }</strong>
</div>
}
});
var PersonBox = React.createClass({
render: function() {
var people = this.props.data.map(function(person, index) {
return <Person key={ index } name={ person.name } />
});
return <div>{ people }</div>
}
});
Example
相关文章:
- 如何创建带有插槽的vue js组件预加载程序
- 如何在cycle js中从JSON数组创建组件
- 使用数据数组创建多个类似组件
- 使用knockoutjs组件创建对话框
- 如何使用浏览器中用酶创建的组件反应例如摩卡
- 如何创建独立于数组更新的组件列表
- 如何创建一个组件,我可以设置在 Angular 2 中的属性中获取 URL 数据
- 使用 XPCOM 和 JavaScript 为 Firefox 创建附加组件
- ExtJS 4.1.它们是创建侧边栏菜单的最佳组件(如左面板中的Worpress)
- 如何使用onClick处理程序在React组件中创建链接
- Reactjs基于jsx中的属性创建条件组件
- 将多折线图创建为可重用组件
- 在React Native中批量创建组件
- 在 React 中创建向导组件的最佳方法
- 如何从多个jsx文件中的组件创建一个复合React.js组件
- 判断一个元素是否是由无状态的功能组件创建的
- 围绕js组件创建asp.net ajax控件比使用jquery做ajax更好吗?
- 使用无状态组件创建注册表单
- Flux:如何为可变数量的React组件创建store
- 如何使用Web组件创建自定义输入类型