我正在嘗試顯示正在傳遞給孩子的陣列中的范圍。我當前的父組件如下:
import data from './data.json'
return (
<Cell symbol={data.symbol} number={data.number} />
)
該資料正在傳遞到我的子組件中:
const [updatedSymbols, setUpdatedSymbols] = useState()
useEffect(() =>
if(props.number === 1 || props.number === 2 || props.number === 3 ){
setUpdatedSymbols(props.number)
console.log("updated: " props.number)
}
}, [props.symbol])
return (
<div class="cell">
{updatedSymbols}
</div>
)
問題:如果您查看 useEffect,您會注意到在 if 陳述句中,我選擇了我想要的數字并將它們簡單地傳遞給 useState,“setUpdatedSymbols”。我的問題是我需要選擇的數字太多,大約 100 個,如何在不使用 || 的情況下將它們全部推送到 updatedSymbols 中 ?
uj5u.com熱心網友回復:
無論您想在插入狀態之前檢查的數字串列如何,您都可以共同執行此操作
const [updatedSymbols, setUpdatedSymbols] = useState()
const range = (from, to ) => {
var collection = [];
for(let i = from; i<=to ; i ) {
collection.push(i);
}
return collection;
}
useEffect(() =>
if(range(1,100).includes(props.number) ){
setUpdatedSymbols(props.number)
console.log("updated: " props.number)
}
}, [props.symbol])
return (
<div class="cell">
{updatedSymbols}
</div>
)
// this is magical trick
// [1,2,3,4,5].includes(props.number); //if props.number happens to be in the array then it i'll give true
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/435744.html
標籤:javascript 数组 反应 反应钩子 使用状态
