我希望为在数组中动态添加的每个项目生成一个实体。
有可能这样做吗?我如何将每个项目的值分配给每个实体?
this.state = {
items: []
}
然后在渲染中:
<Scene>
{this.state.items.map((item, key) => {
return (
<Entity />
)
}
)}
</Scene>
答案 0 :(得分:0)
您可以在组件状态下映射items
并将item
字符串赋予text
组件的Entity
属性。
示例
class VRScene extends React.Component {
state = {
items: ["lemon", "orange"]
};
componentDidMount() {
setInterval(() => {
this.setState(prevState => {
return { items: [...prevState.items, Math.random()] };
});
}, 2000);
}
render() {
return (
<Scene>
{this.state.items.map((item, index) => (
<Entity
key={item}
text={{ value: item, align: "center" }}
position={{ x: 0, y: 2 - index * 0.1, z: -1 }}
/>
))}
</Scene>
);
}
}