javascript – React动态呈现一定数量的组件
作者:互联网
我想根据用户获得的点数(this.state.points)显示一些组件Star(material-ui组件).
我不知道该怎么做.
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
标签:javascript,reactjs,material-ui,state,icons 来源: https://codeday.me/bug/20190910/1800644.html