Reaction-动态呈现一定数量的组件
我想根据用户获得的点数(this.state.points
)显示星型组件(MUI组件)的数量。
我不知道怎么做。
import React, { Component } from "react";
import { Star } from "@material-ui/icons";
Points extends Component {
constructor(props) {
super(props);
this.state = {
points: 6
};
}
render() {
return (
<div>
<p>
+ {this.state.points} points
<Star />
</p>
</div>
);
}
}
export default Points;
解决方案
您可以使用Array.fill
创建具有this.state.points
空槽数量的新数组,然后使用<Star />
组件进行填充,如下所示:
import React, { Component } from "react";
import { Star } from "@material-ui/icons";
class Points extends Component {
constructor(props) {
super(props);
this.state = {
points: 6
};
}
render() {
return (
<div>
<p>
+ {this.state.points} points
// This is where the magic happens
{Array(this.state.points).fill(<Star />)}
</p>
</div>
);
}
}
export default Points;
这是一个工作沙盒:https://codesandbox.io/s/vj3xpyn0x0
相关文章