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} + ');
(后背?。。?/p>
b. 我認為你傳遞給的道具可能有問題<Multiple ... >
。再次檢查它們的值,也許記錄它們的值。
添加回答
舉報