该代码最初应该只使用一天中的时间(Date().getHours())和一些条件来显示不同的问候语。但是,我试图简化代码以检查状态是否会更改,它给出了上面提到的相同错误。
如果我不包括设置状态的条件,状态会按原样显示。
import React from 'react'
import Cards from './cards'
function Main() {
const [greeting, setGreeting] = React.useState("Hello")
const user = false
if (user) {
setGreeting("Welcome")
} else {
setGreeting("You dont belong here")
}
return (
<main role="main" className="col-md-9 ml-sm-auto col-lg-10 px-md-4">
<div className="d-flex flex-wrap flex-md-nowrap pt-2 mt-2 mb-4">
<h1> {greeting} Random Dude!</h1>
</div>
<Cards />
</main>
)
}
export default Main
我也试图将其包装在函数中,但没有运气,这是有道理的,因为每次渲染代码时,该函数都会再次被调用并循环
import React from 'react'
import Cards from './cards'
function Main() {
const [greeting, setGreeting] = React.useState("Hello")
const user = false
function greetingMessage() {
if (user) {
setGreeting("Welcome")
} else {
setGreeting("You dont belong here")
}
return (greeting)
}
return (
<main role="main" className="col-md-9 ml-sm-auto col-lg-10 px-md-4">
<div className="d-flex flex-wrap flex-md-nowrap pt-2 mt-2 mb-4">
<h1> {greetingMessage()} Random Dude!</h1>
</div>
<Cards />
</main>
)
}
export default Main
偶然的你
慕田峪7331174
相关分类