【发布时间】:2023-03-06 20:03:01
【问题描述】:
我正在尝试根据类似这样的变量在我的渲染中动态多个项目
<div>
<Multiple
multiple={props.multiple}
base1={props.base1}
exp1={props.exp1}
/>
</div>
const Multiple = (props) => {
let result = "";
let wtf = "";
console.log("test"); // gets triggered
for(let i = 0; i < props.multiple; i++){
console.log("i: "+i); // gets triggered
result.concat("{props.base1} +"); // this doesn't work for some reason
wtf = i; // gets triggered
}
console.log("result: "+result); // result is blank
console.log("wtf:" +wtf);
return <span>{result}</span>;
}
问题 1:即使我进入 for 循环,我的结果也没有改变,我不明白为什么。
由于我还不能让它工作,我想问:如果我这样做,我将 {props.base1} 连接为一个字符串,当我在渲染中返回它时,它会出现作为“{props.base1}”还是会呈现为变量值?
这是一个关于它应该是什么样子的示例:
base1 = abc
multiple = 2
resulting render should look like:
abc + abc +
在渲染之前将我的道具连接成一个字符串会导致它看起来像这样而不是上面的块吗?
{props.base1} + {props.base1} +
问题 2:编辑另外,由于某种原因,<Multiple> 组件中的所有内容都在无限触发,我也不明白为什么会发生这种情况
【问题讨论】:
标签: javascript reactjs