我是React的新手,但我對它有很多樂趣。我想在我的作品集的 "關于我 "部分添加一個有趣的事實生成器,我想出了如何通過控制臺使其作業,但我沒有運氣將生成的事實傳遞給我組件的return()部分。
我想在用戶每次點擊按鈕時在頁面上寫出變數funFactoid的內容,例如通過一個<p>標簽。
目前我的代碼是這樣的(我已經洗掉了與我的問題無關的部分):
function About(props) {
function funFact() {
function randomIntFromInterval(min, max) {
return Math.floor(Math. random() * (max - min 1) min)
}
const randomNumber = randomIntFromInterval(0, 4) 。
const factArray = ["A"/span>, "B"/span>, "C"/span>, "D"/span>, "E"/span>] 。
console.log(factArray[randomNumber])。
let funFactoid = factArray[randomNumber]。
}
return (
<div>
<button onClick={funFact}>點擊我獲取一個有趣的事實! </button>點擊我獲取有趣的事實!
<p>{ funFactoid }</p>/span>
</div>
)
}
export default About;
我相信這是一個非常容易解決的問題,但我是自學成才的,所以我可能只是錯過了一些解釋如何做的重要部分。
提前感謝您對我的幫助! 這是我第一次遇到我無法通過谷歌搜索解決的編碼問題,所以我非常感謝任何幫助。
uj5u.com熱心網友回復:
var let funFactoid與你的回傳函式不在同一范圍內,除此之外,你不應該使用let,而應該使用useState鉤子來設定你想要呈現的值:
function About(props) {
const [funFactiod, setFunFactoid] = useState(""/span>)
function funFact() {
function randomIntFromInterval(min, max) {
return Math.floor(Math. random() * (max - min 1) min)
}
const randomNumber = randomIntFromInterval(0, 4) 。
const factArray = ["A"/span>, "B"/span>, "C"/span>, "D"/span>, "E"/span>] 。
console.log(factArray[randomNumber])。
setFunFactoid(factArray[randomNumber])。
}
return (
<div>
<button onClick={funFact}>點擊我獲取一個有趣的事實! </button>點擊我獲取有趣的事實!
<p>{ funFactoid }</p>/span>
</div>
)
}
export default About;
uj5u.com熱心網友回復:
我只有一個建議
function randomIntFromInterval(min, max) {
return Math.floor(Math. random() * (max - min 1) min)
}
function funFact() {
const factArray = ["A"/span>, "B"/span>, "C"/span>, "D"/span>, "E"/span>] 。
const lastIndex = factArray.length - 1
const randomNumber = randomIntFromInterval(0, lastIndex)。
console.log(factArray[randomNumber])。
setFunfactoid(factArray[randomNumber])。
你可以添加一個lastIndex變數來遠離錯誤,這樣你就可以改變陣列而不用擔心最大數量。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/316188.html
標籤:
上一篇:如何將變數中的數值變成陣列索引
