首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当我传递道具时,我的组件没有呈现?

为什么当我传递道具时,我的组件没有呈现?
EN

Stack Overflow用户
提问于 2022-11-13 03:36:44
回答 2查看 41关注 0票数 1

我制作了类似于登录页面的前端组件。当我试图通过开始道具阵线没有渲染出于某种原因。如果我不给它任何道具,那么它就会呈现得很好。我不知道为什么会这样。任何帮助都将不胜感激!

代码语言:javascript
复制
export default function App() {
const [start, setStart] = React.useState(false);
function startGame() {
    setStart(prevStart => !prevStart);
}
return (
    <div>
        <Front begin={startGame()} />
    </div>
)

}

代码语言:javascript
复制
export default function Front(props) {
return (
    <div className="login">
        <h1>Quizzical</h1>
        <h3>Read the questions carefully!</h3>
        <button onClick={props.begin} className="startButton">Start Quiz</button>
        <div className="blob-1"></div>
        <div className="blob-2"></div>
    </div>
)

}

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-13 03:40:57

像这样传递函数:

<Front begin={startGame} />

而不是这样:

<Front begin={startGame()} />

因为startGame()将在站点上运行函数,它返回的内容将作为道具传递。这种情况下,它返回无效(无),这不是组件所期望的,因此出现了错误。

票数 2
EN

Stack Overflow用户

发布于 2022-11-13 06:04:53

你可以像这样传递函数。

代码语言:javascript
复制
<Front begin={() => startGame()} />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74418295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档