我是一个React和React原生菜鸟,所以它可能是一个非常愚蠢的问题,但我如何在渲染函数中使用'for loop'来包含我的组件?这就是我做的
render() {
return (
<View style={styles.container}>
{ for (let i=0; i<20; i++)
{
//This is my component
<CounterButton />
}
}
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
但是它抛出了一个错误,然后有人建议在代码中包含代码并在render函数中调用它,所以我做了
createButtons() {
for (let i =0; i<20; i++){
<CounterButton />;
}
}
render() {
return (
<View style={styles.container}>
{this.createButtons()}
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
现在我没有看到错误,但它只是一个空白的屏幕.我知道你可以访问道具但是渲染函数应该主要只包含JSX代码吗?提前致谢.
Jsx 可以包含返回组件或组件数组的表达式。在您的情况下,您需要返回组件数组的东西。
坚持使用 for 循环:
createButtons() {
let buttons = [];
for (let i=0; i<20; i++){
buttons.push(<CounterButton />);
}
return buttons;
}
Run Code Online (Sandbox Code Playgroud)
如果你想在 jsx 中执行此操作,类似这样的操作应该有效:
render() {
return (
<View style={styles.container}>
{[...Array(20).keys()].map(<CounterButton />)}
</View>
);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2206 次 |
| 最近记录: |