3 回答
TA贡献1796条经验 获得超7个赞
您正在使用 concat,它不会更新原始字符串,而是创建一个新字符串。你可以做的是
let result = '';
for(let i = 0; i < props.multiple; i++) {
console.log("i: "+i); // gets triggered
result += `${props.base1} `;
wtf = i; // gets triggered
}
console.log(result);
就无限循环问题而言,究竟是什么props.muitlple?是数组还是字符串?如果是这样,您应该将循环更改为
for(let i = 0; i < props.multiple.length; i++)
编辑:如果 props.multiple 是一个数字,i < props.multiple应该可以工作,您应该在组件中记录该值并检查一次。
TA贡献1805条经验 获得超10个赞
结果字符串未正确附加到
const Multiple = (props) => {
let result = "";
let wtf = "";
for(let i = 0; i < props.multiple; i++){
result += props.base1.toString() + "+"
}
console.log("result: "+result);
return <span>{result}</span>;
}
对于无限循环,我会在进入循环之前检查它的值,以确保您的边界设置正确。
// add this line before for loop
console.log(props.multiple)
TA贡献1785条经验 获得超8个赞
A。更改为result.concat('${props.base1} + ');
(后背!!)
b. 我认为你传递给的道具可能有问题<Multiple ... >
。再次检查它们的值,也许记录它们的值。
添加回答
举报